Zitat von
freakTAB:
Hmm, jetzt hab ich packed vor allen records geschrieben, ich erhalte nun "bessere" Ergebnisse - trotzdem sind sie noch völliger Quatsch.
Ich gehe mal davon aus, daß z.B.
type str12 = string[12]; genutzt wurde. Nur um Missverständnissen vorzubeugen
Zitat von
freakTAB:
Leider finde ich zu dem Real48 Problem nix - zumindest nicht in der Hilfe
Ich weiß nicht, wann der Real48 geändert wurde. Versuche mal folgenden Schalter in den Code einzufügen. Wenn Delphi meckert, solltest Du Dich nicht darum kümmern müssen, ansonsten einfach drinne lassen. Real48 wurde zu 16Bit Zeiten anders behandelt, als es heute der Fall ist
{$REALCOMPATIBILITY ON}
Gleiches gilt für das Alignment der Felder innerhalb von Records und Arrays. Dazu einfach das Alignment ausschalten.
{$ALIGN OFF}
Beide Schalter am besten vor jede Record-/Typendefinition setzen, die an alte Daten muss. Anschließend wieder die Schalter zurücksetzen und die Daten im neuen (effizientieren) Format sichern.
Zitat von
freakTAB:
Muss ich vielleicht auch noch die Arrays in den records packed machen?
Wenn vorher auch packed davor stand, ja.
...
...