CreatoR
На счёт Dim, она двусмысленна, а в программирование всё односмысленно. Все упоминания Dim переписаны на Local. Ей можно пересоздать глобальный массив внутри функции, в остальных случаях пересоздать можно используя Local. Хотя при этом пересоздать можно и с помощью ReDim. Мы привыкли копировать что видим, поэтому справка переписывается в правильном стиле программирования.
Хотя я вообще не понимаю, для чего нужно было делать 3 метода объявления переменных
Да, я Local стал использовать и в глобальной области, всё равно они глобально создаются.
Кстати, мне кажется
справка противоречит практике хорошего программирования:
Оригиналу соответствует, но просто позвляет Global внутри функции, хоть это и неправильно. Хотя тут можно поспорить... если функция вызывается 1 раз или ни разу за всё время запуска, то зачем скрипту заранее объявлять то, что использоваться не будет, но локально их тоже нельзя потому что функция вызывает из себя несколько функций и надо чтобы они увидели эти переменные. МОжно их передать но тогда надо подключать UDF для режима передачи параметров в режиме OnEvent. Вот и получается, то что неправильно бывает исключением из правил.
Я всё жду заметки по улучшению в ЛС, но видимо это мало кому нужно.
Зачем в ЛС? Удобнее обсуждать открыто и делать отчёт в первый пост. На офсайте же тема открытая и там много понаписали.
ArgoNaft [?]
Жаль что в обоих случаях создается индекс, просто определить его как массив без данных нельзя
Смотря какая структура массива. Если в первом элементе хранить число файлов, то 0 в первом элементе означает пустой массив. Аналогично если первый элемент не используется как чсило элементов то можно создать переменную-флаг отвечающую за пустоту массива. Оно остаётся при равных условиях, что переменная внутри массива, что снаружи, обслуживающая составляющая не увеличивается и не уменьшается. От вас требуется простое: проверить флаг ошибки и по ситуации установить флаг пустоты или пересоздать пустой массив с элементом 0... Ну в общем полёт фантазии и куча вариантов, что вас остановило не понимаю.