1 (изменено: kirtech, 2010-12-19 22:08:02)

Тема: AHK : Вызов фунций AutoHotkey.dll из Purebasic'a

Помогите разобраться, вызов функции(-ий) происходит, но параметры передаются не верно, я новичёк в Purebasic и чуть более продвинутый новичёк в Autohotkey

результат в графическом виде прилагается:

http://funkyimg.com/u2/669/959/error_func_param.png

при вызове функции из библиотеки %путь%\Win32a\AutoHotkey.dll , результат  тот же, но без окна AutoHotkey.dll с сообщением об ошибке ("тишина")

В дополнение вопрос по поводу возвращаемого Debug значения 136 (иногда 140) - что это? Вопрос на англоязычном форуме пока задан не был, поиски ответов там же касающиеся Purebasic'a пока ни к чему не привели. Если ответ здесь не будет найден (на что я очень надеюсь), вопрос будет продублирован на русскоязычных форумах по Purebasic'у (мне понадобится зарегистрироваться)

замечания:
1. если вызывать функцию и передавать ей только один символ, то он будет виден в сообщении от AutoHotkey.dll, но вслед за ним будут те же "квадратики" кол-во которых увеличится

2. выписка из спраки Purebasic

Unicode и Windows

В Windows PureBasic внутри себя использует кодировку UCS2, которая является форматом, используемым в уникодном API Windows, поэтому никаких преобразований при выполнении программы для вызова функции ОС не требуется. Имея дело с функцией API, PureBasic автоматически использует уникодную версию, если таковая есть (например, MessageBox_() отображается в MessageBoxW() в режиме уникода и в MessageBoxA() в режиме Ascii). Все структуры и константы API, поддерживаемые PureBasic, также автоматически переключаются на уникодную версию. Это значит, что один и тот же код API можно скомпилировать и в режиме уникода, и в режиме ascii без каких-либо изменений.

Уникод полностью поддерживается только в Windows NT и далее (Windows 2000/XP/Vista): уникодная программа не будет работать в Windows 95/98/Me. Существует решение с помощью обёрточной библиотеки 'unicows', но оно пока не поддерживается PureBasic. Если требуется поддержка Windows 9x, лучше всего поставлять две версии выполняемого файла: одна скомпилирована в ascii, другая в уникоде. Для этого нужно лишь задать switch, это должно быть довольно быстро.

3.

2

Re: AHK : Вызов фунций AutoHotkey.dll из Purebasic'a

Цель вызова и фрагмент кода в студию...