I have an app that works fine... Porting it to be implemented as a DLL. I have a datamodule that has my Database and TTable components on it... In Design mode, the Database is set to Active. Tables point to the database, they are set to active. I can right click on the tables, go the field editor, and see all the columns, so I know the structure/properties are set up fine....
The problem is at run time... It gives me an AV on this line...
if MyDataModule.DB1.Connected = True then
ShowMessage('Active')
else
ShowMessage('Not Active');
I have seen hints on the web that there is something special that needs to be done to use a Datamodule inside a DLL, but I am not getting anything to work.
Specific error message is:
Access Violation at address 06D4E22E in module 'DocAssistCom.dll' Read of address 0000070'
You should verify that
MyDaModule
is indeed created, then thatMyDataModule.DB1
is created as well before even trying to useMyDataModule.DB1.Connected
.But they might still not be fully created and ready when you try to use them.
So, instead of spreading
ShowMessage
calls around, I would rather useOutputDebugstring
and debug the DLL in the IDE to see the code path...Note: I don't know which versions of Delphi and Windows you are working with, but be aware that TTable requires the BDE (which is quite deprecated nowadays)...