Страница 1 из 1

Asp - не работает CreateObject("Scripting.FileSystemObj

Добавлено: 11 ноя 2004, 00:56
SleepWalker
Пожалуйста помогите, кто может. Проблема в следующем:
есть код

Код: Выделить всё

<%
Sub TreeModel(path)  

  Const ForReading = 1
  Dim  fso, theFile, retString

  Set fso = CreateObject("Scripting.FileSystemObject")
  Set theFile = fso.OpenTextFile(path, ForReading, False)

  Do While theFile.AtEndOfStream <> True
    ' обработка файла
  Loop

  theFile.Close
End Sub
%>
Код этот вполне рабочий. Он работал и работаёт до сих пор в нашем университете (у меня локальная копия сайта универа), но у меня дома работать он перестал.

Т.е. если запустить этот код, к примеру, http://localhost/../some_file.asp, который использует этот sub, то страница догружается до 38% (почему именно до 38 ?) и всё - можешь ждать хоть день - ничего нового не увидишь.

Я предполагаю, что дело в том, что данный Scripting, я уж не знаю,
был прописан в реестре, а я между делом устанавливал себе некоторые компоненты active-x, и из реестра возможно удалил впоследствии что-нибудь лишнее, в связи с чем работать код перестал. Хотя это только моё предположение, возможно дело совсем в другом.
К сведению, дома у меня ISS v. 5.0, может пригодится.
Спасибо !

Добавлено: 11 ноя 2004, 03:16
AiK
Действительно, ActiveX может пострадать. У тебя же почему-то нет проверки создался ли обект. И открылся ли файл, кстати, тоже.
Кроме всего прочего, нет у меня уверенности, что для пустого файла AtEndOfStream будет установлен в True, т.е. твой скрипт может зациклиться. А судя по описываемому поведению так оно и происходит.

Добавлено: 11 ноя 2004, 11:14
SleepWalker
Проверки открылся ли файл действительно нет, но это потому, что файл заведомо существует. Он создаётся в java коде (не путать с java-script ), а там как раз и осуществляются всевозможные проверки. И кстати прежде, чем писать в форум я разумеется проверял
на всевозможных тестах, что ли данный код: передавал в path созданный не пустой небольшой файл (мало ли), выводил сам path, для того чтобы проверить корректность пути...
Хорошо, если это действительно из-за active-x, то как можно восстановить работоспособность кода.
Спасибо ! Буду признателен !