Hallo zusammen,
gleich die Frage vorweg: Gibt es eine Routine, die die Anzahl der Felder in einem (packed) record zurück gibt?
Hintergrund: Ich habe mehrere Records unterschiedlicher Größe, möchte aber nur eine Speicherroutine schreiben.
Bsp.:
Delphi-Quellcode:
type
TRec1 = packed record
Field1: integer;
Field2: string;
Field3: string;
end;
TRec2 = packed record
Field1: integer;
Field2: string;
Field3: string;
Field4: string;
end;
Interessant wäre eine erweiterte Version, die den Feldtyp erkennt und im Falle eines verschachtelten Records auch die Anzahl der Felder des "Unterrecords" bearbeitet/wiedergibt.
Bsp.:
Delphi-Quellcode:
type
TRec1a = packed record
Field1: integer;
Field2: string;
Field3: string;
end;
TRec1b = packed record
Field1: integer;
Field2: string;
end;
TRec1 = packed record
Field1: integer;
Field2: TRec1a;
Field3: TRec1b;
Field4: string;
end;
TRec2 = packed record
Field1: integer;
Field2: string;
Field3: string;
Field4: string;
end;
Gruß, Carsten