powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как правильно написать определение структуры
2 сообщений из 2, страница 1 из 1
Как правильно написать определение структуры
    #36257755
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];
};

Формат структуры 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;

Как правильно ее *перевести* в пб?
...
Рейтинг: 0 / 0
Как правильно написать определение структуры
    #36257779
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 форме и кодировке.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как правильно написать определение структуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]