Page 1 of 1

Interbase.ForceUnloadClientLibrary

Posted: Wed 08 Dec 2021 16:47
by FredS
Since I was running 'Process Explorer' to see if zlib was loaded for compression I noticed that the app had two versions of 'fbclient.dll' loaded. One from the embedded folder which was loaded during startup and another from the system folder which was used after I changed db connections.

Both the main connection and test connection have 'Interbase.ForceUnloadClientLibrary=True' and have been double checked via Asserts..

Another SpecificOptions which is missing from the ConnectionString?

Re: Interbase.ForceUnloadClientLibrary

Posted: Wed 08 Dec 2021 17:23
by FredS
FbClient is still loaded even after switching to MSSQL..

Re: Interbase.ForceUnloadClientLibrary

Posted: Fri 10 Dec 2021 17:04
by ViktorV
Hi Fred,

Kindly be informed that this is the correct UniDAC behavior when working with an InterBase provider. The client libraries which are used in the application will be loaded until the TGDSList.Clear method is called, which in turn is automatically executed in the finalization section of the IBCCallUni.pas module.
But please note that you can always execute the GDSList.Clear method by yourself in your application.

Please, let us know if you have any questions.

Re: Interbase.ForceUnloadClientLibrary

Posted: Fri 10 Dec 2021 17:42
by FredS
From your help file:
ForceUnloadClientLibrary Use the option to force unloading of the client library after the connection is closed. The default value is False.
Plus I'm pretty sure that is how it worked before..

Re: Interbase.ForceUnloadClientLibrary

Posted: Fri 17 Dec 2021 17:09
by ViktorV
Hi Fred!

Thanks for the info!

We will make changes to the Help file.
Please indicate on which version of UniDAC there was a different behavior - we will try to give you a more complete and accurate answer.


Regards,
Viktor

Re: Interbase.ForceUnloadClientLibrary

Posted: Fri 17 Dec 2021 20:35
by FredS
Maybe one should wonder what an Option named ForceUnloadClientLibrary with a matching description in the help does?

As for when did it work, shortly after you implemented it. One usually only checks these things once..

Re: Interbase.ForceUnloadClientLibrary

Posted: Mon 20 Dec 2021 23:17
by FredS
I should probably add that this was way before Pooling..

Anyhow, with Pooling=OFF both libraries where still loaded.

I already had a method that called GetConnectionPoolingManagerClass.Clear while all Connections where closed to allow updating the EXE on the fly. Adding GDSList.Clear to that method now unloads the libraries nicely.

Thanks..

Re: Interbase.ForceUnloadClientLibrary

Posted: Fri 24 Dec 2021 14:29
by ViktorV
We are glad to hear that you have found solutions to this issue. Thank you for your interest in our products. Feel free to contact us if you have any questions.