Registriert seit: 25. Nov 2005
22 Beiträge
|
Re: Zugriff auf Variante Teile in Record-Typen
25. Nov 2005, 17:30
Nunja, wir kommen wohl nicht weiter ...
Mein Eindruck ist, dass hier ein Delphi-Bug vorliegt.
Meine Versuche zeigten, dass die Anfangsadressen von T1 und T2 abhängig von der Position des Typ sind, egal ob der Typ vor der case oder in der case steht. Es ist auch egal wie lang die varianten Teile des Record sind.
Es bleibt also als Workaround nur das Einfügen von Bytes bis ein gerade Adresse vorliegt (getestet und OK) oder die Verwendung eines weiteren lokalen record um die case (getestet und OK, aber dadurch lokaler Bezeichner -> umständlich).
Die Deklaration der union in C++ ist davon unabhängig. Hier liegen in allen Varianten gleiche Adressen vor!
Vielleicht werde ich mal bei Borland nachfragen ...
Danke für die Diskussion.
|