C структура в Delphi запись (преобразование) - PullRequest
2 голосов
/ 16 марта 2011

Может кто-нибудь преобразовать эту структуру C в delphi, как в записи?

typedef struct {
    Uint16    addr2:8;
    Uint16    addr1:8;
    Uint16    addr4:8;
    Uint16    addr3:8;
    Uint16    addr6:8;
    Uint16    addr5:8;
}MY_ADDR;

Я попробовал это, myslef. Но я не мог понять, что делать с проблемой addr2: 8 (: 8).

MY_ADDR = record
  addr2:8 : Uint16;
  addr1:8 : Uint16;
  addr4:8 : Uint16;
  addr3:8 : Uint16;
  addr6:8 : Uint16;
  addr5:8 : Uint16;
  end;

Я не уверен, что мне это тоже нужно или нет?

pMY_ADDR = ^MY_ADDR;

1 Ответ

4 голосов
/ 16 марта 2011
MY_ADDR = record
  addr1 : Byte;
  addr2 : Byte;
  addr3 : Byte;
  addr4 : Byte;
  addr5 : Byte;
  addr6 : Byte;
end;

Вам необходимо поменять их местами из-за порядка следования байтов в битовых полях MS C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...