|
Sybase
|
|
|
|
|
Продукты
|
|
|
|
|
Сообщества
|
|
|
|
|
Меню
|
|
|
|
|
Вход
|
|
|
|
|
Рассылка
|
|
|
|
|
Статистика
|
|
|
|
|
Приведение типов между C и PowerBuilder
|
Приведение типов между C и PowerBuilderPowerBuilder программистам часто приходится вызывать Win32 API функции из своих приложений, все их прототипы
написаны на C и хорошо документированы в MSDN. Кроме этого, если была выполнена полная инсталляция
PowerBuilder, прототипы некоторых функций можно посмотреть, используя любой текстовый редактор, в каталоге
\Program Files\Sybase\Shared\PowerBuilder\cgen\h. Чтобы преобразовать определения функций в PowerBuilder
эквивалент, иногда бывает полезна следующая таблица соответствий:
Data Type Conversion from C to PowerBuilder
C |
PowerBuilder |
BOOL |
Boolean |
WORD |
Uint |
DWORD |
ULong |
HANDLE |
Long |
HWND |
Long |
LPSTR |
Ref String |
LPBYTE |
Ref String |
LPINT |
Ref Long |
INT |
Long |
UINT |
ULong |
LONG |
Long |
ULONG |
ULong |
Double |
Double |
char * |
Ref String |
LPARAM |
Long |
WPARAM |
ULong |
LRESULT |
Long |
LPCSTR |
String |
LPCTSTR |
String |
|
Нужно обратить внимание на следующее:
- LPxxxx - люба переменная, начинающаяся с LP, является long указателем. Это означает, что нужно
передавать этот параметр, как reference. Например, LPSTR есть long указатель на string
переменную (ref string). Из этого правила есть одно исключение. LPARAM является long переменной, а не
long указателем на "aram".
- LPCxxxx - хотя данные переменные имеют LP префикс, эти параметры есть "constant pointers" и должны
передаваться, как value.
- HWND или HANDLE - они указывают на дескриптор окна и всегда определяются, как long переменные. На каждый
GUI элемент ссылаются, используя внешний дескриптор.
P.S.: Во избежание недоразумений следует подчеркнуть, что текст относится к PowerBuilder 9
|
Дата публикации: Thursday 27 April 2006 17:42:18 Материал прочитан: 11649 раз(а) [ Назад ] |
|
|
|
|
|
|
Copyright©2005 . Все права защищены.
|