Как рано связывать com-объекты в autoit - PullRequest
1 голос
/ 05 мая 2011

Мой коллега использует AutoIt для разработки и утверждает, что вы не можете рано связывать com-объекты - это правда?

1 Ответ

3 голосов
/ 05 мая 2011

AutoIt - интерпретируемый язык, даже когда он компилируется.Фактический процесс компиляции - это просто встраивание кода в интерпретатор (с некоторыми элементами препроцессора, отсортированными как включенные).

В результате связывание не может быть выполнено во время компиляции, поскольку нет времени компиляции.Это означает, что следующее будет нормально скомпилировано и ошибки не будет обнаружено.

$oShell = ObjCreate("shell.application")
If False Then ConsoleWrite($oShell.LolWut & @LF)

Запустите это, и ничего не произойдет.$ oShell.LolWut никогда не будет оцениваться, поэтому ошибок нет.Попробуйте выполнить тест if, выполнив оператор, и вы получите: Запрошенное действие с этим объектом не выполнено.

Редактировать: Также обратите внимание на ответ здесь для получения более подробной информации о реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...