Что нового

[Ошибки] Чем заменить несуществующий макрос @Unicode

erlik

Продвинутый
Сообщения
317
Репутация
84
При проверки скрипта на ошибки обнаружил такой несуществующий макрос в одной из библиотек (DllCallback.au3), которую использует мой скрипт. Вопрос: чем его можно заменить?
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
AZJIO
В смысле If 1 Then ?
Может тогда все-таки наоборот? На 0. Иначе ведь проверка If 1 Then будет всегда срабатывать, тогда как Autoit вроде как использует ANSI кодировку...
Вот участок кода, где этот макрос задействован. Может конечно, тут вообще его наличие\отсутствие ни к какой ошибке не приведет, но я просто не уверен :smile:
Код:
If @Unicode Then
				$pSendMessage = DllCall("kernel32.dll", "ptr", "GetProcAddress", "ptr", $gh_DllCallBack_hUser32, "str", "SendMessageW")
				If @error Then Return SetError(3, 0, 0)
			Else
				$pSendMessage = DllCall("kernel32.dll", "ptr", "GetProcAddress", "ptr", $gh_DllCallBack_hUser32, "str", "SendMessageA")
				If @error Then Return SetError(3, 0, 0)
			EndIf
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
erlik
из старой справки
@unicode:
Значение 1, если сценарий применяет Unicode версию AutoIt (AutoIt3.exe), либо 0, если - ANSI версию (AutoIt3A.exe).

В нормальных условиях нет причин для выяснения типа применяемой версии. Однако, для некоторых вызовов DllCalls() или при явном использовании Windows сообщений такие сведения могут пригодиться.
текущие версии только в юникоде.

Начиная с версии 3.2.4.0 AutoIt является Юникод программой. Юникод-версия AutoIt позволяет использовать знаки практически всех письменных языков!
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
AZJIO
Ну тогда все ясно. Спасибо за пояснение.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
erlik [?]
обнаружил такой несуществующий макрос в одной из библиотек (DllCallback.au3), которую использует мой скрипт
DllCallback.au3 устарела, в AutoIt теперь это реализовано нативно.
 
Верх