@Fox
@Fox said in Не работает вызов функции:
Зачем именно в глобальной? Глобальная переменная BAS видна всем потокам, то есть ваше действие из разных потоков будет перезаписывать данные в глобальной переменной. Храните данные в локальной переменной
Это модуль, и его глобальные переменные останутся при нем, на сколько я понимаю (они не появляются в другом проекте когда я вставляю туда этот скомпилированный кубик)
Глобальные переменные - для обмена данными между частями внутри этого модуля (локальные переменные работают только в режиме записи)
В конечном итоге это должен быть модуль ожидания.
В общей функции - делаются настройки поведения курсора при ожидании, тип поведения, порог совпадения для base64 и несколько сторок данных (не буду вдаваться в подробности чтобы не путать). Вот эти данные и должны храниться между вызовами и быть доступны везде в пределах модуля.
2 другие функции - это функции ожидания (одна простое ожидание со своими примочками, вторая ожидание с повтором действия (клик -> ждем реакции, нет -> повтор клика)). Эти 2 функции используют одинаковые данные, хранимые в одном и томже массиве (но каждая свои - входные параметры "кубика"), которые обрабатываются одними и теми же функциями и здесь глобальная переменная нужна для передачи этих данных на обработку.
В общем вначале задали общие настроки и они хранятся все время работы (уже того скрипта куда вставим этот модуль)(или до повторного задания).
Вызываем простое ожидание, оно набивает рабочий массив своими данными + общие настройки и отрабатывает как прописано.
Если вызываем клик с ожиданием - оно набивает тотже рабочий массив своими данными + общие настройки и отрабатывает как ему предписано (И использует теже функции обработки, что и простое ожидание).
Написать тестовый скрипт для демонстрации это сейчас то же чтои дописать не работающий :D
Закончу (надеюсь) - выложу полность. Думаю будет полезной штукой (у меня должен сократить объем кода обвязки наверно на четверть)