Hab nur ich Probleme mit dem letzten Code?
SizeOf kann nicht kleiner als 0 sein ... sogar Delphi hat was dagegen
Zitat von
Delphi-Compiler:
[Warnung] xxx: Der Vergleich ergibt immer Falsch
Und ein dereferenzierter Pointer ist kein Datentyp und hat die Größe 0?
Also
Sizeof(Daten^) < 0
0 < 0
False
[add]
Ach ja, Datensize = Int64
MOVE möchte da gern 'nen Integer ... wir sind noch nicht im 64-Bit Zeitalter
Und da Move intern selber nochmal prüft, ob die übergebenen Pointer NIL sind, ist demnach die If-Abfrage
if Daten = nil then exit;
ebenfall unnötig.
Demnach ist ein
Move(Daten, ExportDaten, SizeOf(ExportDaten));
, ohne eine Funktion drumrum, völlig ausreichend. (jedenfalls bei dem obrigen Beispiel)