1 (изменено: Rom5, 2014-06-04 11:39:12)

Тема: HTA: многомодульность приложения и обработка ошибок.

Был выделил из текста своего раздувшегося в размерах hta-файла несколько модулей по определённому функционалу. Выделение сделал просто ради группировки, облегчающей поиск. Подгрузка выполняется обычным образом, например:

<script language=VBScript src="./CODE/func_AD.vbs"></script>

Заметил не очень приятный момент - когда в приложении возникает редкая и "нештатная" так сказать ошибка в работе WMI (подключение как бы и есть, но запросы не отрабатывают), обработки которой в скрипте нет, то получаем обычно для HTA окно ошибки с предложением:

"продолжить выполнение скрипта на странице / прерваться ?",
но в этом окне номер строки с ошибкой равен "1", т.е. ошибка видимо происходит в неком из доп. модулей, а не в коде основного hta.


Просьба к коллегам поделиться технологией отработки таких нежданных ошибок с показам действительного имени модуля и номера строки, если такое реально.
Может кто поделиться своим "испытанным в боях" кодом функции для обработки всевозможных "нежданчиков"?


Или может просто запихнуть выделенный код назад в тело hta, т.е. отказаться от многомодульности?
p.s. Размер hta был уже под 600Кб (utf-8).

WBR. Roman

2

Re: HTA: многомодульность приложения и обработка ошибок.

Явно напрашивается использовать отладчик в процессе разработки.

3

Re: HTA: многомодульность приложения и обработка ошибок.

Предполагаю несколько альтернатив (костылей):
1) Вынести код модуля либо в один WSC либо в разные, а в нём (них) включить debug = true и error = true.
2) Собрать весь код в WSF, а окно HTA генерить отдельно через createWindow для вывода информации.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !