[fpc-pascal] Cannot use SQLite 64 bit dll

Sven Barth pascaldragon at googlemail.com
Sat Oct 20 13:19:53 CEST 2018


Am 19.10.2018 um 19:22 schrieb Dennis:
> Using Lazarus and FPC and sqlite3conn unit, I can use the sqlite3.dll 
> on windows without problem.
>
> However, when I try to convert my project to win 64, it just fail 
> without any warning.
>
> I am using
>     FPC 3.1.1 Revision 63034
>     Lazarus 1.9.0
>     both are Win64
>
> I download the win 64 bit version of sqlite3.dll from
> https://www.sqlite.org/2018/sqlite-dll-win64-x64-3250200.zip
> and place it in the same folder as my exe.
>
> The project compiles without errors nor warning.
>
> But when I run the exe, it just waits a few seconds and then quits 
> silently.
>
> I tried debugging it and set breakpoints at all of  the following in 
> sqlite3.inc
> function TryInitializeSqlite(const LibraryName: UnicodeString): Integer;
> function InitialiseSQLite:integer;
> function  InitializeSQLiteANSI(const LibraryName: AnsiString):integer;
> function  InitializeSQLite(const LibraryName: UnicodeString) :integer;
> function  InitialiseSQLite(const LibraryName: UnicodeString):integer;
>
> and the following in SQLite3Conn:
> class function TSQLite3ConnectionDef.DefaultLibraryName: string;
> class function TSQLite3ConnectionDef.LoadedLibraryName: string;
> class function TSQLite3ConnectionDef.LoadFunction: TLibraryLoadFunction;
>
> However, the debugger did not stop at all at any of them.
>
> What could possibly be the cause of the problem?

A simple test here with a SQLite3Connection works without problems.

Do you get an exception if the library is *not* located in the same 
folder? In that case it loaded correctly and something else must be the 
problem.

Regards,
Sven


More information about the fpc-pascal mailing list