Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: RTTI im Record Feldlänge

  Alt 16. Sep 2013, 17:13
Moin moin,
also theoretisch könntest du ja anhand des Offsets die Länge der Strings berechnen - vermutlich wird bei dir PLZ ein Offset 0 haben und Ort Offset 7. Damit hättest du schon mal die Größe von PLZ.
Offset(Ort) - Offset(Plz) = 7
7 - 1 (1 Byte für die Längeninformation) = 6 = länge des Strings
Und die Größe vom letzten Feld könntest du anhand der Recordgröße - Offest(Ort) - 1 Byte ermitteln...
Das geht leider nur, wenn der Record als packed deklariert ist oder mit {$A-} compilert, weil sonst die Werte ausgerichtet werden und bei 32 bit somit bei der Berechnung über die Offsets um bis zu 3 zu groß sein können - bei einem 64-bit Programm sind das dann 7.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat