![]() |
помогите пожалуйста разобраться с DLL
Есть библиотека для соединения с программой Quik
1.1.Функция TRANS2QUIK_CONNECT Назначение: функция используется для установления связи библиотеки TRANS2QUIK_Pr.dll с терминалом QUIK. Синтаксис: long TRANS2QUIK_CONNECT(LPCSTR lpcstrConnectionParamsString, long* pnExtendedErrorCode, LPSTR lpstrErrorMessage, DWORD dwErrorMessageSize) Описание: Result Тип Long. Возвращаемое число может принимать следующие значения: TRANS2QUIK_SUCCESS - соединение установлено успешно. TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND - в указанном каталоге либо отсутствует INFO.EXE, либо у него не запущен сервис обработки внешних*подключений, в* pnExtendedErrorCode в этом случае передается 0. TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED - используемая версия Trans2QUIK.DLL указанным INFO.EXE не поддерживается, в pnExtendedErrorCode в этом случае передается 0. TRANS2QUIK_DLL_ALREADY_CONNECTED - соединение уже установлено, в pnExtendedErrorCode в этом случае передается 0. TRANS2QUIK_FAILED - произошла ошибка при установлении соединения, в pnExtendedErrorCode в этом случае передается дополнительный код ошибки. lpcstrConnectionParamsString Тип: Строка. Полный путь к каталогу, в котором установлен INFO.EXE, с которым устанавливаем соединение. pnExtendedErrorCode Тип: указатель на переменную типа Long. В случае возникновения ошибки может содержать расширенный код ошибки. lpstrErrorMessage Тип: указатель на переменную типа Строка. В случае возникновения ошибки может получать сообщение о возникшей ошибке. dwErrorMessageSize Тип: Long. Содержит длину строки, на которую ссылается указатель lpstrErrorMessage. Задача-с помощью скрипта на Autoit соединиться с программой через библиотеку и получить ответ,что соединились или нет. Делаю следующий код: [code] Dim $a, $Path_Quik, $pnExtendedErrorCode, $mesEr, $er, $lpstrErrorMessage, $dwErrorMessageSize, $pnExtendedErrorCode, $dwErrorMessageSize, $dll, $d $Path_Quik = "C:\Quik5\" ;определяю путь к программе quik $dll = DllOpen("trans2quik.dll"); вызываю библиотеку DllCall($dll, "long*", "TRANS2QUIK_CONNECT", "str", $Path_Quik, "str", $pnExtendedErrorCode, "str", $lpstrErrorMessage, "dword", $dwErrorMessageSize);вызываю функцию TRANS2QUIK_CONNECT MsgBox(1, "Вывод", $lpstrErrorMessage); Вывожу результат Однако получаю пустое сообщение вместо сообщения со значением переменной $lpstrErrorMessage Помогите разобраться с вызовом и работой с функциями dll. |
Цитата:
Код:
;Создаём структуры |
Посмотрел в гугле на предмет создания структур в Autoit, ничего не нашел. Поделитесь ссылкой пожалуйста.
UPD:А гугл,кстати,первой строкой в результатах поиска ссылается на этот форум и эту ветку :-() |
|
Для чего служат структуры?Никогда не встречал таких конструкций,может быть потому,что опыт в программировании невелик,тем более,с DLL сталкиваюсь в первый раз.
|
Цитата:
|
Время: 05:51. |
Время: 05:51.
© OSzone.net 2001-2025