Как рано связывать COM объекты в AutoIt?
-
29-10-2019 - |
Вопрос
Коллега моих претензий, которые вы не можете раннее связывать COM объекты в AutoIt.Это правда?
Решение
AUTOIT - это интерпретированный язык, даже когда скомпилирован.Фактический процесс компиляции просто встраивает код в интерпретатере (с некоторыми элементами препроцессора отсортированы, как включает в себя).
В результате связывание не может быть сделано во время компиляции, так как нет времени компиляции.Это означает, что следующее будет компилировать штраф, и ошибка не будет обнаружена.
$oShell = ObjCreate("shell.application")
If False Then ConsoleWrite($oShell.LolWut & @LF)
.
Беги, что и ничего не произойдет.$ Oshell.lolwut никогда не будет оценена, и поэтому нет ошибок.Попробуйте его с помощью теста, выполняющего оператор, и вы получаете: запрошенное действие с помощью этого объекта не удалось.
Редактировать: также обратите внимание на ответ Здесь для более подробной информациина реализацию.