Hallo DPler,
ich habe gerade den von mir bevorzugten SQLite3-Wrapper in XE2 (
Win32) an den Start gebracht. Funktioniert soweit, wie erwartet. Also das Ganze mal für die Win64-Plattform probiert...
(dass die
DLL im Moment nur in der 32Bit-Version vorliegt, sollte mit dem Problem erstmal nichts zu tun haben)
Eine erste Besonderheit des Wrappers ist, dass er Funktionen der SQLite-
DLL erst bei Bedarf lädt.
Dazu verwendet der Wrapper beispielsweise folgenden Code:
Delphi-Quellcode:
var
_SQLite3_Open: Pointer;
function SQLite3_Open(filename: PAnsiChar;
var db: TSQLiteDB): integer;
cdecl;
begin
if _SQLite3_Open =
nil then
LoadProcAddress(_SQLite3_Open, '
sqlite3_open');
asm
MOV ESP, EBP
POP EBP
JMP [_SQLite3_Open]
end;
end;
Beim Kompilieren für die Win64-Plattform stolpert er nun über die
ASM-Anweisung.
Meldung: [DCC Fehler] SQLite3Wrapper.pas(360): E1025 Sprach-Feature wird nicht unterstützt: '
ASM'
Frage: Liegt es wieder daran, dass ich noch mit der Trial "rummache" oder geht sowas tatsächlich nicht mehr?
Oder liegt's an der Angabe der calling convention, die es ja in der Form unter Win64 nicht mehr gibt. "cdecl" weglassen hat aber nichts geändert.
Grüße,
Uwe