Hallo,
ich bin grade dabei, ein altes Pascal-Programm nach Delphi zu portieren.
Darin werden mittels der Move-Routine Daten byteweise verschoben.
Leider sind in Delphi Record-Typen anscheinend standardmäßig "variabel" in der Byte-Größe, wenn das Schlüsselwort packed nicht verwendet wird, von daher erzeugt der Move allerhand lustige Ergebnisse, jedoch nicht das, was ich will.
Muss ich mit packed arbeiten bzw. mit der Compiler-Direktive {$A-}, oder gibts noch eine andere Lösung?
Des weiteren habe ich noch das Problem, dass ein FillChar auf den Pointer des Records unter Delphi nicht funktioniert, zumindest auf manche Typen darin.
Delphi-Quellcode:
New(Z_N);
{Egal ob}
FillChar (Z_N^, SizeOf (Z_N^), ' ');
{oder}
FillChar (Z_N^, SizeOf (Z_N^), #0);
In meinem Fall ist dann Z_N^.A (ein Integer) nicht leer oder Null, obwohl es zuvor initialisiert wurde. Liegt das an packed?
Und wieso finde ich in der Hilfe von Delphi 2005 kaum was zu diesen Thema? Die Hilfe von Delphi 7 ist meiner Meinung nach wesentlich besser.
Vielen Dank.
Ernschd