Страница: 1 |
|
Вопрос: DLL на C++ Builder 6.0
|
Добавлено: 04.07.11 13:02
|
|
Автор вопроса: andrey | ICQ: 305986093
|
Допустим в длл-ке есть функция OpenPort
DLL_EI int OpenPort(int NCom, HWND hw); Это в билдэре, в vb.net я разобрался, как к ней обратится Declare Ansi Function _OpenPort Lib "LibThread.dll" (ByVal NCom As Integer, ByVal hw As Long) As Long .
Но основная программа написана на vb.6, а он не хочет понимать подчеркивание в имени функции, вот и вопрос как быть, как её декларировать в vb.6?
Ответить
|
Номер ответа: 1 Автор ответа: Ким Чен Ир
Вопросов: 0 Ответов: 140
|
Профиль | | #1
|
Добавлено: 04.07.11 13:06
|
- Declare Function QWERTY Lib "LibThread.dll" Alias "_OpenPort" (ByVal NCom As Integer, ByVal hw As Long) As Long
Ответить
|
Номер ответа: 4 Автор ответа: Ким Чен Ир
Вопросов: 0 Ответов: 140
|
Профиль | | #4
|
Добавлено: 04.07.11 13:26
|
- DLL_EI int OpenPort(int NCom, HWND hw);
int - в c++ 4 байта, в vb6 - 2 байта.
значит нужно ByVal NCom As long
Ответить
|
Номер ответа: 6 Автор ответа: Ким Чен Ир
Вопросов: 0 Ответов: 140
|
Профиль | | #6
|
Добавлено: 04.07.11 14:14
|
Чё там пробовать ...
Это для vbnet
- Declare Function OpenPort Lib "LibThread.dll" (ByVal NCom As Integer, ByVal hw As IntPtr) As Integer
Это для vb6
- Declare Function OpenPort Lib "LibThread.dll" Alias "_OpenPort" (ByVal NCom As long, ByVal hw As Long) As Long
А это правильное соглашение о вызове с++
DLL_EI int __stdcall OpenPort(int NCom, HWND hw);
Ответить
|
Страница: 1 |
Поиск по форуму