akoulev, по AutoIt нет пока "Больших" книг, а есть только некоторые рекомендаций + оффициальный форум, где присутствуют разработчики. Это и есть "Большая" наука. Поэтому не нужно изобретать велосипед, делай так, как делают остальные, т.е. включай UDF'ы в начале скрипта, оформляй код в соответствии с Tidi, соответствующим образом называй переменные и т.д.
В большинстве случаев, #Include используется для подключения дополнительных библиотек, а правильно написанная библиотека содержит все необходимое в себе и не должна нуждаться в дополнительных телодвижениях.
Я рекомендую придерживаться следующей структуры скрипта:
; Описание программы и другая дополнительная информация
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: akoulev
Script Function:
Циклический многократный (очень многие сотни раз - малые тысячи раз) запуск мелких скриптов
#ce ----------------------------------------------------------------------------
; AutoIt3Wrapper директивы (если необходимо)
#Region
#AutoIt3Wrapper_Icon=MyProgram.ico
#AutoIt3Wrapper_Run_Au3Check=n
#AutoIt3Wrapper_UseUpx=n
#EndRegion
; Подключаемые библиотеки
#Include <Constants.au3>
; Необходимые глобальные настройки
Opt('MustDeclareVars', 1)
; Объявление всех глобальных переменных и констант
Global $EnvUpdateCount = 0
; Основной код (цикл) программы
While 1
_MultiEnvUpdate()
Sleep(1000)
WEnd
; Дополнительные функции
Func _MultiEnvUpdate()
EnvUpdate()
$EnvUpdateCount += 1
EndFunc ;==>_MultiEnvUpdate
akoulev сказал(а):
Ну, лично я пришёл к использованию EnvUpdate после того, как возник эффект множественных мелких глюков при циклическом многократном запуске мелких скриптов из управляющего скрипта. Кои глюки исчезли после простановки EnvUpdate как в начале скрипта, так и при выходе из него. С тех пор я предпочитаю "не дожидаться приключений", а так и ставлю дважды в каждом моём скрипте EnvUpdate...
А если ты обнаружишь что в каком-то из твоих скриптов возникает намного меньше глюков, если добавить в начале следующую строку:
Тогда ты будешь ее ставить везде где не попадя?
Программирование, это такая штука, где каждая
написанная тобой буква в коде программы должна быть тебе абсолютно понятна. Если скрипт работает более стабильно при добавлении EnvUpdate(), то значит где-то оно используется, и необходимо разобраться где именно и для чего, а не делать сразу же вывод, что мол везде лучше ставить EnvUpdate() и будет тебе счастье. Если бы это действительно было необходимо, то разработчики это сделали бы сами.