DADE usage in DLL
Hi
I'm having some problems in my project so I've tried using demo app 7 which
has the report in a DLL and this shows the same problem.
The supplied demo works perfectly, but I want to use Flashfiler rather than
the BDE. So in the Delphi IDE I double click the report component and On the
Data tab set the DataSettings correctly for Flashfiler then run the Query
Wizard. Again this works fine and I have the correct table that I can
preview the data, but I do not yet use the data in the report.
When I run the app it previews the BioLife data correctly but when I come to
close the app it doesn't close but eventualy causes a timeout in Flashfiler.
I can see that "TdaffQueryDataView.Destroy" within daFF is being called but
then the problem happens when the "FreeLibrary(LibHandle)" is called it
seems other Flashfiler objects are being accessed/free'd
Has anyone seen anything like this before?
Thanks
I'm having some problems in my project so I've tried using demo app 7 which
has the report in a DLL and this shows the same problem.
The supplied demo works perfectly, but I want to use Flashfiler rather than
the BDE. So in the Delphi IDE I double click the report component and On the
Data tab set the DataSettings correctly for Flashfiler then run the Query
Wizard. Again this works fine and I have the correct table that I can
preview the data, but I do not yet use the data in the report.
When I run the app it previews the BioLife data correctly but when I come to
close the app it doesn't close but eventualy causes a timeout in Flashfiler.
I can see that "TdaffQueryDataView.Destroy" within daFF is being called but
then the problem happens when the "FreeLibrary(LibHandle)" is called it
seems other Flashfiler objects are being accessed/free'd
Has anyone seen anything like this before?
Thanks
This discussion has been closed.
Comments
- Make sure that you use a connection object placed on the form/datamodule
that contains the report component. Configure the connection object to
connect to the database and then configure RB to use the connection.
- To isolate the issue, try creating a simple test .DLL that uses Flash
Filer and some standard Delphi data-aware controls, but not RB.
- If the above works, then as the next incremental step, try creating a
simple test DLL that uses Flash Filer data components placed on a datamodule
and a DBPipeline and Report component. (In other words, do not use the Data
workspace).
- If the above works, then try creating a simple test DLL that contains a
single simple report that uses Flash Filer and the RB Data workspace
- You might consider using Delphi packages rather than a .DLL.
- Depending upon the type of solution that you are building, you may need to
ensure that your .DLL is thread safe. See the RBuilder.hlp topic on
BackgroundPrintSettings..
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Looks like it's got nothing to do with RB.
I added the connection objects as suggested and I still had the problem. So
I removed everything to do with RB so it was just a simple app that loaded
the DLL which activated the connection, then when you close the form thats
in the DLL I closed the connection and then when the DLL is unloaded it
hangs again.
Looks like I need the Flashfiler newsgroup over at Nexus.
Thanks for your help.