잘 작동하는 앱이 있습니다 ... DLL로 구현되도록 이식합니다. 데이터베이스 및 TTable 구성 요소가있는 데이터 모듈이 있습니다 ... 디자인 모드에서 데이터베이스는 활성으로 설정됩니다. 테이블은 데이터베이스를 가리키며 활성으로 설정됩니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 필드 편집기로 이동하여 모든 열을 볼 수 있으므로 구조체/속성이 올바르게 설정되었음을 알 수 있습니다 ....Delphi - DLL의 DataModule에서 TTable을 사용하는 중 오류가 발생했습니다.
문제는 런타임에 ... It 내게는 DLL 내부 데이터 모듈을 사용하기 위해 수행해야 할 특별한 무언가가 있다는 것을 웹에서 힌트를 보았다
if MyDataModule.DB1.Connected = True then
ShowMessage('Active')
else
ShowMessage('Not Active');
이 라인에 AV를 ... 제공하지만, 나는 일을 아무것도 못하고 있어요 .
특정 오류 메시지는 다음과 같습니다 모듈의 주소 06D4E22E에서
액세스 위반 'DocAssistCom.dll'읽기 주소의 0000070 '
데이터 모듈을 사용하기 전에 인스턴스를 만들고 있습니까? – RRUZ
@RRUZ가 지적했듯이, (프로젝트 소스를 보면) 데이터 모듈 (VCL 폼 애플리케이션에 추가 될 때)이 자동으로 생성되는 반면 dll을 생성하면 데이터 모듈의 인스턴스를 수동으로 생성해야합니다 데이터베이스에 액세스하는 등의 구성 요소 호출이 가능합니다. – ComputerSaysNo
나중에 참조 할 때 참고하십시오 : 손가락에 'AV', '액세스 위반', '오류'또는 '예외'라는 구를 입력 할 때마다 다음에해야 할 일 입력을 시작하면 ** 정확한 ** 오류 메시지 (메모리 주소 또는 오류 코드 포함)가 표시됩니다. "내게 AV를 준다"고 말하면서 문제를 해결하는 데 도움이되는 사람들에게는 절대 쓸모가 없다. 오류 메시지는 상황을 엄청나게 빠르게 할 수 있습니다 (비록 무의미한 경우 라 할지라도) 솔루션을 훨씬 빨리 얻을 수 있습니다. 감사. :) –