|
Как правильно написать определение структуры
|
|||
---|---|---|---|
#18+
Есть вот такая структура Формат структуры rtd в Borland C++ Builder: struct RetData { int Count; int CmdCode; LPARAM UserData; LPARAM Status; LPSTR CmdName; LPSTR SendStr; LPSTR Whole; LPSTR RetItem[20]; unsigned char OrigStat[6]; }; Формат структуры rtd в Delphi: type RetData = record Count: integer ; CmdCode: integer ; UserData: integer ; Status: integer ; CmdName: PChar ; SendStr: PChar ; Whole: PChar ; RetItem: array [1..20] of PChar ; OrigStat: array [1..6] of byte ; end; Как правильно ее *перевести* в пб? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2009, 12:46 |
|
Как правильно написать определение структуры
|
|||
---|---|---|---|
#18+
roleksЕсть вот такая структура Формат структуры rtd в Borland C++ Builder: struct RetData { int Count; int CmdCode; LPARAM UserData; LPARAM Status; LPSTR CmdName; LPSTR SendStr; LPSTR Whole; LPSTR RetItem[20]; unsigned char OrigStat[6]; }; Как правильно ее *перевести* в пб? Если PB 9 и ниже: int -> long LPARAM -> long LPSTR -> string unsigned char -> char Если PB 10 и выше int -> long LPARAM -> long LPSTR -> string unsigned char -> byte а определения внешних ф-й - с модификатором "ansi" в alias for. Правда я не уверен что PB нормально сконвертирует поля структуры в Unicode даже при наличии этого модификатора. Плюс в зависимости от упаковки структуры может понадобиться добавить в конец структуры поле-заполнитель с типом int (2 байта) чтобы общий размер структуры был кратен 4 (упаковка по умолчанию в WinAPI) Я бы на вашем месте делал бы разбор структуры в DLL а не в PB, а в PB передавал бы уже некий результат в удобной для PB форме и кодировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2009, 13:08 |
|
|
start [/forum/topic.php?fid=15&fpage=30&tid=1336137]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 157ms |
0 / 0 |