HTA [javascript and vbscript] - общая справка по неописуемой проблеме после изменения кода - PullRequest
0 голосов
/ 08 декабря 2010

Я написал HTA, который считывает информацию из набора текстовых файлов и отображает результаты на экране, используя следующую псевдологию:

  • перебирает каталог и добавляет содержимое каждоготекстовый файл в массиве
  • проходит через 2-мерную структуру массива для построения макета таблицы
  • обновляет себя, используя таймер setInterval

    Я изначально написал его исключительноvbscript / HTML, который работал отлично, но тогда мне нужен был способ сортировки отображаемых результатов по третьему столбцу или значению массива [x] [2].

Так что я обратился к javascript, так как он имеет более дружественное / быстрое использование массива.Я переписал функции так, чтобы псевдог логика выглядела следующим образом:

  • перебрать каталог и добавить содержимое каждого текстового файла в массив JAVASCRIPT
  • SORT массив JAVASCRIPT помассив [x] [2] idx
  • Свести 2D-массив JS в строку с помощью разделителей
  • Разделить отсортированную строку JS на массив VBS и построить компоновку таблицы точно так же, как
  • обновить себя с помощью таймера setInterval

после обработки синтаксических ошибок, первоначальная загрузка HTA работает отлично, как я и предполагал.Но теперь, после обновления setInterval (), я получаю общую ошибку JS:

  • Строка: 1
  • Char: 1
  • Ошибка: объект неподдерживать это свойство или метод
  • Код: 0
  • URL: file: ///pathToHTA.hta

Я зашел так далеко, что закомментировалвсю функцию обновления, которую я использую с setInterval (), так что функция вызывается, но она на самом деле ничего не делает, и я все равно получаю ошибку.

Я в растерянности относительно того, куда идти отсюда, и я надеюсь, что кто-то сможет подсказать мне, что может быть причиной этой ошибки.Заранее спасибо.

1 Ответ

0 голосов
/ 08 декабря 2010

Итак, я обнаружил проблему:

По какой-то причине мне пришлось изменить порядок объявлений моего скрипта.В оригинале с ошибками я объявлял свои сценарии в следующем порядке:

<script type="text/javascript">
   ...
</script>

<script type="text/vbscript">
   ...
</script>

Исправление заключалось в том, что (по какой-то причине) мне приходилось переворачивать делкарации.изменил порядок так, чтобы мои функции vbscript были перечислены первыми, а javascript - вторыми, и это устранило ошибку .... кто-нибудь знает, почему это будет?

...