как перевести объединение typedef в delphi? - PullRequest
1 голос
/ 10 января 2011

1)

typedef union __rfun_gop_event_info
{
 unsigned int evt;
 struct
 {
  unsigned int reserved1:1;
  unsigned int reserved0:1;
  unsigned int f30:1;
  unsigned int f29:1;
 }frame;
}rfun_gop_event_info;

2)

typedef union __rfun_gop_event_info
{
 unsigned int evt;
 struct
 {
  unsigned int reserved1:1;
  unsigned int reserved0:1;
  unsigned int f30:1;
  unsigned int f29:1;
 }frame;
}rfun_gop_event_info;

Спасибо.

1 Ответ

3 голосов
/ 10 января 2011

Взгляните на эту статью в Delphi Corner, которая объясняет вариант записи , что именно то, что вам нужно:

DelphiCorner: записи вариантов: эквивалент структуры C-union

Выдержка, содержащая пример:

type
 TPerson = record
   FirstName, LastName: string[40];
   BirthDate: TDate;
   case Citizen: Boolean of
     True: (BirthPlace: string[40]);
     False: (Country: string[20];
       EntryPort: string[20];
       EntryDate: TDate;
       ExitDate: TDate);
 end;
...