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