PDA

Просмотр полной версии : Asp - не работает CreateObject("Scripting.FileSystemObj



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



<%
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, может пригодится.
Спасибо !

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

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