Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: C- union Struktur in Delphi

  Alt 30. Apr 2005, 19:46
Moin Gregor,

das sollte sich grundsätzlich über case lösen lassen.

In Deinem Beispiel müsste das so aussehen:

Delphi-Quellcode:
type
  TMyUnion = packed record
    case byte of
      1 : (Alignment : int64;)
      2 : (Length : DWORD;
           IfIndex : DWORD;)
  end;
Schau doch mal in der Hilfe unter dem Stichwort "variante Records".

Ein gravierendes Problem gibt es allerdings auf jeden Fall:
Der variante Teil muss am Ende der Record-Deklaration stehen, so dass man ziemliche Verrenkungen machen muss, wenn man so eine Struktur mittendrin braucht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat