UniConnection1.SpecificOptions.Values['ClientLibrary']

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
pmoegenb
Posts: 16
Joined: Wed 27 Jun 2012 07:57
Contact:

UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by pmoegenb » Mon 09 Jul 2012 07:41

The following code works as a 32-bit application, but not as a 64-bit program. Is there something wrong?

Code: Select all

UniConnection1.SpecificOptions.Values['ClientLibrary'] :=
ExtractFilePath(Application.ExeName)+'sqlite3.dll';
That is, the path used at design time is not replaced only in a 32-bit application, but in a 64-bit application.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by AlexP » Mon 09 Jul 2012 10:56

hello,

We cannot reproduce the problem in both 32-bit and 64-bit applications: the sqlite3.dll library is loaded from the specified path with no errors, if there is a correct library version in this path. Please make sure that there is a 64-bit version of the library in the folder with the application on the 64-bit platform.

pmoegenb
Posts: 16
Joined: Wed 27 Jun 2012 07:57
Contact:

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by pmoegenb » Tue 10 Jul 2012 05:10

Well, I've found the problem. If I remove the path to the sqlite3.dll library at design time, the new path is implemented on the 64-bit platform run-time correctly.

Only, I must manually set the path to the design-time every time.

However, also the path specified at design time to the sqlite3.dll library will be replaced on the 32-bit platform.

Can it tell someone me?

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by AlexP » Tue 10 Jul 2012 08:46

hello,

This error can occur only in the case if you have set a connection in design-time. In this case, when running the application, there will be an attempt to connect to the DB with the help of the library specified in run-time (the path that is already set for searching the DLL will be used). I.e. you should either disconnect in run-time before building the 64-bit version of the application, or set the UniConnection.Options.KeepDesignConnected to False in order that automatic connection to the DB doesn't occur at running the application

pmoegenb
Posts: 16
Joined: Wed 27 Jun 2012 07:57
Contact:

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by pmoegenb » Tue 10 Jul 2012 09:15

Hello,

I have of course taken at run time no database connection is, but only will be connected at startup.

The option KeepDesignConnedted: nothing causes of run-time = false.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by AlexP » Fri 13 Jul 2012 08:31

hello,

Please specify the exact versions of your UniDAC and XE2

pmoegenb
Posts: 16
Joined: Wed 27 Jun 2012 07:57
Contact:

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by pmoegenb » Fri 13 Jul 2012 10:21

hello,
UniDac is version 4.2.7 and Delphi XE2 is version 16.0.4504.48759.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: UniConnection1.SpecificOptions.Values['ClientLibrary']

Post by AlexP » Tue 17 Jul 2012 11:50

Hello,

We checked this behaviour on the similar versions of IDE and UniDAC and found no problems that were described. Please send a small project demonstrating the problem to alexp*devart*com

Post Reply