Meine 64-Bit DLL heißt "sqlite3-64.dll" und mein EleLa sucht bei der 64 Bit Version automatisch nach der passenden DLL. Ich habe die "sqlite3.dll" (32 Bit) und die "sqlite3-64.dll" (64 Bit) im gleichen Verzeichnis liegen und je nach DB-Typ verwendet die ZEOS Komponente die eine oder andere DLL.
Im TZConnection.BevoreConnect:
Code: Alles auswählen
s := LowerCase(TZConnection(Sender).Protocol);
if TZConnection(Sender).LibraryLocation = '' then
begin // Nur suchen wenn leer
{$ifdef win64}
if Pos('sqlite', s) = 1 then
begin
if LoadLibTest('sqlite3-64.dll') then
TZConnection(Sender).LibraryLocation := 'sqlite3-64.dll';
end;
{$endif}
end;
"LoadLibTest()" versucht die Library einfach nur zu laden und gibt diese wieder frei. Schlägt dies fehl, ist die DLL wohl 32 Bit, wenn die EXE 64 Bit ist (oder umgekehrt).
PS: Habe Dir wegen der DLL eine Skype Message geschickt...