Проблемы с FSO Какие то неожиданные и непонятные проблемы с FSO. Формирую файл html, потом в другой проверяю его сушествование FSO.FileExists, упорно выдает "0" - файла нет. Начинаю юзать отладчик - возвращает -1 (это как я понимаю = true) Аналогичный трабл с FSO.GetFile, собственно из за ошибки в нем и стал проверять существование файла. В отладчике работает, без отладчика - посылает меня.Файл в каталоге есть, прекрасно открывается. До этого маялся с примитивным копированием и удалением файла, аналогичные косяки. Винда -7, x64, 1C - 7.7 Может просто весна ? |
Может из за пробелов в имени или пути к файлу? |
0-USSR > "[em]FSO.FileExists[/em]" - СОМ-вызов FSO, или к "семерошному" ФС? У меня с ФС были неприятности из-за длины названия. |
(2)FSO.FileExists (1)пробелов нет Ситуация странная. 1 - в отладчике все работает 2 - Файлы записываются ADODDB Stream (это веб страница) Если записать, а потом другой обработкой читать (или этой же но в закомментарить записб файлов), то все нормально, а вот если сразу после записи проблемы Записывается так: олеАДО.SaveToFile(ИмяВремФайла, 2); олеАДО.Close(); |
[quote=USSR;41538253]а вот если сразу после записи проблемы[/quote] Похоже записывается только в виртуале, а физическая запись (чтобы её можно прочитать с диска) происходит уже позже, при выходе из процедуры к примеру. Не помнишь фишку? - В фоксе что-то похожее происходило, запись делаешь в таблицу, а она не обновляется, и приходилось делать какую-то промежуточную манипуляцию, типа команды brow/list без вывода на экран, тогда все появлялось и читалось. Как-то так, сейчас уже не помню в подробностях. |
[quote=USSR;41537143]В отладчике работает, без отладчика - посылает меня.[/quote] Отладчик как раз и выступает в роли промежуточного манипулятора, заставляющего процедуру сделать физическую запись на диск. |
(5) ну так как сделать ее (запись на диск) без отладчика ?)) Так то я тоже уловил закономерность |
(6) хз :) может между записью и чтением попробовать еще сделать запись пустого файла в темп, или выполнить типа форма.обновить. Доставай бубен :) |
(7)был бы бубен - достал бы ) Обидно, что все куски по отдельности отладил, а все вместе не работает. Какие то то необычные файлв записывает этот самый ADODDB Stream Есть советы альтернативные по скачиванию из 7.7 web странички в файл? свой код приведу (взят с Мисты), он работает, но вот ...) |
Кстати, про необычные файлы, а код работает с другими файлами, не html? В Тотал фтп клиент эти сохраненные странички не может загрузить на хостинг, пишет ошибка. Думал на имя файла ругается, сохранил с именем 123.html - нифига не помогает, ошибка и всё. Другие файлы грузит, а эти какие-то необычные :) Интересно бы разодраться, что в них необычного. |
(9)да я с FSО c 13 года. как Высоцкий с конем. Тут отладил сохранение web странички в файл. перекодировку в 1251 (Romeх-у спасибо), самопальный парсинг странички закупки и страничек извещения и заказчика, а все вместе - Вася. И именно на файловых процедурах. Если ничего не записывать, а натравить обработку на ранее созданные ей и отвергнутые ей же файлы, то все прекрасно Имена очень простые - номер закупки + ".html" |
Какие еще мысли ... может не успевает записать, антивирус отключить. [quote=USSR;41539448]да я с FSО c 13 года.[/quote] ага,- я все мели тут зна..ю ... - вот первая :) |
Поставь паузу между записью и чтением. |
ну причина действительно в паузе ) Только виноват не ADODDB Stream, а ЗапуститьПриложение в котором запускал утилиту Ромикса по перекодировке файла из UTF-8 в 1251. Поставил цикл и все работает. Но как то мне не нравится такое решение. Как на соплях |
13-USSR >Таймаут - это нормально. |
FlushBuffer или как там это в ФСО называется |
все равно еще не все заработало, но это уже другая песня ) (14)Просто как подобрать паузу, на одно машине ее достаточно, на другой будет мала |
(15)так тут ЗапуститьПриложение виновато. Страницы в UTF-8 и приходится их перекодировать, иначе не удалось мне нормально прочитать с помощью FSO. Как то неправильно это ) |
[quote=USSR;41540955]а ЗапуститьПриложение в котором запускал утилиту Ромикса по перекодировке файла из UTF-8 в 1251.[/quote] [url=http://forum.script-coding.com/viewtopic.php?id=997]WSH: пример конвертации текста из кодировки в кодировку[/url] |
(18)спасибо огромное ) |
(18)это все отлично заработало) еще раз спасибо. Со ссылками еще случается путаница, надо разбираться) А я уж было утром в ступор впал, когда простые файловые операции отказались работать. Сразу мир вокруг становится такой неустойчивый )) |
(20) )) можно и напрямую utf читать, вот примерчик на вбс: Dim objStream, strData Set objStream = CreateObject("ADODB.Stream") objStream.CharSet = "utf-8" objStream.Open objStream.LoadFromFile("C:\Users\admin\Desktop\ArtistCG\folder.txt") strData = objStream.ReadText() objStream.Close Set objStream = Nothing |
Текущее время: 00:00. Часовой пояс GMT +3. |