20.11.2006, 11:29 | #1 |
MCTS
|
Базовые типы С++
Помогите пожалуйста.
Необходимы аналоги типов С++ в Х++: DWORD WORD BYTE для создания структуры TPixelFormatDescriptor: Код: typedef struct tagPIXELFORMATDESCRIPTOR { // pfd WORD nSize; WORD nVersion; DWORD dwFlags; BYTE iPixelType; BYTE cColorBits; BYTE cRedBits; BYTE cRedShift; BYTE cGreenBits; BYTE cGreenShift; BYTE cBlueBits; BYTE cBlueShift; BYTE cAlphaBits; BYTE cAlphaShift; BYTE cAccumBits; BYTE cAccumRedBits; BYTE cAccumGreenBits; BYTE cAccumBlueBits; BYTE cAccumAlphaBits; BYTE cDepthBits; BYTE cStencilBits; BYTE cAuxBuffers; BYTE iLayerType; BYTE bReserved; DWORD dwLayerMask; DWORD dwVisibleMask; DWORD dwDamageMask; } PIXELFORMATDESCRIPTOR; и вот еще вопрос, как получить затем его размер (что нибудь типа sizeof) и правильно ли будет то, что я затем передам его функции openGL? |
|
20.11.2006, 11:57 | #2 |
Участник
|
посмотрите класс WinAPI - там работа с DLL на X++
|
|
20.11.2006, 13:02 | #3 |
MCTS
|
Нет, как загрузить библиотеку, как получить доступ к ее функциям я знаю.
Мне необходимо знать, как использовать эти функции с таким ограниченным набором типов как в Аксапте. Мне нужны типы, подобные DWORD |
|
20.11.2006, 13:08 | #4 |
Участник
|
Из последнего сидакса:
X++: container internetCrackUrl(str _url, boolean _decode=false, boolean _escape=false) { // typedef struct { // DWORD dwStructSize; 0 // LPTSTR lpszScheme; 4 // DWORD dwSchemeLength; 8 // INTERNET_SCHEME nScheme; 12 // LPTSTR lpszHostName; 16 // DWORD dwHostNameLength; 20 // INTERNET_PORT nPort; 24 // LPTSTR lpszUserName; 28 // DWORD dwUserNameLength; 32 // LPTSTR lpszPassword; 36 // DWORD dwPasswordLength; 40 // LPTSTR lpszUrlPath; 44 // DWORD dwUrlPathLength; 48 // LPTSTR lpszExtraInfo; 52 // DWORD dwExtraInfoLength; 56 // } URL_COMPONENTS, 60 // // *LPURL_COMPONENTS; int maxLen = strLen(_url)+1; DLL dll = new DLL('wininet.dll'); DLLFunction function = new DLLFunction(dll, 'InternetCrackUrlA'); Binary result = new Binary(60); Binary cnt = new Binary(4); int ret; #define.E_POINTER(0x80004003) // LPTSTR lpszScheme; 4 Binary scheme = new Binary(maxLen); // LPTSTR lpszHostName; 24 Binary hostName = new Binary(maxLen); // LPTSTR lpszUserName; 36 Binary userName = new Binary(maxLen); // LPTSTR lpszPassword; 44 Binary password = new Binary(maxLen); // LPTSTR lpszUrlPath; 52 Binary urlPath = new Binary(maxLen); // LPTSTR lpszExtraInfo; 60 Binary extraInfo = new Binary(maxLen); ; // BOOL InternetCrackUrl( // LPCTSTR lpszUrl, // DWORD dwUrlLength, // DWORD dwFlags, // LPURL_COMPONENTS lpUrlComponents // ); // DWORD dwStructSize; 0 result.dWord(0, 60); // LPTSTR lpszScheme; 4 result.binary(4, scheme); // DWORD dwSchemeLength; 8 result.dWord(8, maxLen); // INTERNET_SCHEME nScheme; 12 // LPTSTR lpszHostName; 16 result.binary(16, hostName); // DWORD dwHostNameLength; 20 result.dWord(20, maxLen); // INTERNET_PORT nPort; 24 // LPTSTR lpszUserName; 28 result.binary(28, userName); // DWORD dwUserNameLength; 32 result.dWord(32, maxLen); // LPTSTR lpszPassword; 36 result.binary(36, password); // DWORD dwPasswordLength; 40 result.dWord(40, maxLen); // LPTSTR lpszUrlPath; 44 result.binary(44, urlPath); // DWORD dwUrlPathLength; 48 result.dWord(48, maxLen); // LPTSTR lpszExtraInfo; 52 result.binary(52, extraInfo); // DWORD dwExtraInfoLength; 56 result.dWord(56, maxLen); function.arg(ExtTypes::String, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::Pointer); function.returns(ExtTypes::DWord); ret = function.call(_url, strlen(_url), (_decode ? 0x10000000 : 0) + (_escape ? 0x080000000: 0), result); if (!ret) throw error(WinApi::formatMessage(WinApi::getLastError())); return [scheme.string(0), hostName.string(0), result.dWord(24), userName.string(0), password.string(0), urlPath.string(0), extrainfo.string(0)]; } |
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
20.11.2006, 13:11 | #5 |
MCTS
|
belugin, спасибо, вроде ясно что к чему.
|
|
20.11.2006, 16:29 | #6 |
Участник
|
Ну чего, получилось? Пробовал подцепить OpenGl, так ничего и не вышло . . .
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Типы операций в ОСах (АХ 3.0) | 2 | |||
Типы элементов управления на форме | 9 | |||
Типы отпусков | 7 | |||
Различные типы связей (LinkType) для FormDataSource | 1 | |||
про типы данных | 6 |
|