Ja, mit Comp kann es nicht funktionieren, da Comp und Int64 den Zahlenwert intern anders abspeichern. (glaub ich jedenfalls ... hab mich noch nicht so mit Comp beschäftigt, da es eh selten verwendet wird)
Und wenn man jetzt versucht die Daten als Int64 zu schreiben, dann kommt natürlich als Comp ausgelesen etwas anderes raus
Ansonsten ... mal sehn ob/womit in D3 ein 64-Bit-Wert verfügbar gemacht werden kann ^^
Zur auswahl stehen fürs Erste mal folgende Werte:
signet 64 bit integer (LargeInt) = Int64 __int64 LargeInt NativeInt
unsignet 64 bit integer (LargeWord) = UInt64 LargeWord NativeUInt
Wobei für die beiden Native-Werte noch keine festen Werte vorliegen ... es kann sein, daß diese in verschiedenen Compiler-Versionen anders gehandhabt werden.
Außerdem werden nicht immer alle Definitionen verfügbar sein.
Wobei die LargeWord-Typen wohl erst nach D4 eingeführt wurden.