Und mit "VarAsType(..., varInt64);" anstatt "Int64(...);" ?
Funktioniert leider auch nicht. Ich habe das Beispiel mal erweitert:
Delphi-Quellcode:
var A, B, D, E: Int64; C: String; V: Variant;
begin
A := -7978126718202166279;
V := ADOCon.Execute('SELECT CAST(-7978126718202166279 as bigint)').Fields[0].Value;
B := Int64(V);
C := VarToStr(V);
D := V;
E := VarAsType(V, varInt64);
Memo1.Lines.Append('A: ' + A.ToString);
Memo1.Lines.Append('B: ' + B.ToString);
Memo1.Lines.Append('C: ' + C);
Memo1.Lines.Append('D: ' + D.ToString);
Memo1.Lines.Append('E: ' + E.ToString);
end;
A: -7978126718202166279
B: -7978126718202166272
C: -7978126718202166279
D: -7978126718202166272
E: -7978126718202166272