0
- 01.03.2016 - 06:10
|
Какие то неожиданные и непонятные проблемы с FSO. Формирую файл html, потом в другой проверяю его сушествование FSO.FileExists, упорно выдает "0" - файла нет. Начинаю юзать отладчик - возвращает -1 (это как я понимаю = true) Аналогичный трабл с FSO.GetFile, собственно из за ошибки в нем и стал проверять существование файла. В отладчике работает, без отладчика - посылает меня.Файл в каталоге есть, прекрасно открывается. До этого маялся с примитивным копированием и удалением файла, аналогичные косяки. Винда -7, x64, 1C - 7.7 Может просто весна ? | | |
1
- 01.03.2016 - 08:38
| Может из за пробелов в имени или пути к файлу? | | |
2
- 01.03.2016 - 09:09
|
0-USSR > "FSO.FileExists" - СОМ-вызов FSO, или к "семерошному" ФС? У меня с ФС были неприятности из-за длины названия. | | |
3
- 01.03.2016 - 10:14
|
(2)FSO.FileExists (1)пробелов нет Ситуация странная. 1 - в отладчике все работает 2 - Файлы записываются ADODDB Stream (это веб страница) Если записать, а потом другой обработкой читать (или этой же но в закомментарить записб файлов), то все нормально, а вот если сразу после записи проблемы Записывается так: олеАДО.SaveToFile(ИмяВремФайла, 2); олеАДО.Close(); | | |
4
- 01.03.2016 - 10:31
| Похоже записывается только в виртуале, а физическая запись (чтобы её можно прочитать с диска) происходит уже позже, при выходе из процедуры к примеру. Не помнишь фишку? - В фоксе что-то похожее происходило, запись делаешь в таблицу, а она не обновляется, и приходилось делать какую-то промежуточную манипуляцию, типа команды brow/list без вывода на экран, тогда все появлялось и читалось. Как-то так, сейчас уже не помню в подробностях. | | |
5
- 01.03.2016 - 10:37
| Отладчик как раз и выступает в роли промежуточного манипулятора, заставляющего процедуру сделать физическую запись на диск. | | |
6
- 01.03.2016 - 10:54
| (5) ну так как сделать ее (запись на диск) без отладчика ?)) Так то я тоже уловил закономерность | | |
7
- 01.03.2016 - 11:06
|
(6) хз :) может между записью и чтением попробовать еще сделать запись пустого файла в темп, или выполнить типа форма.обновить. Доставай бубен :) | | |
8
- 01.03.2016 - 11:19
|
(7)был бы бубен - достал бы ) Обидно, что все куски по отдельности отладил, а все вместе не работает. Какие то то необычные файлв записывает этот самый ADODDB Stream Есть советы альтернативные по скачиванию из 7.7 web странички в файл? свой код приведу (взят с Мисты), он работает, но вот ...) | | |
9
- 01.03.2016 - 11:52
|
Кстати, про необычные файлы, а код работает с другими файлами, не html? В Тотал фтп клиент эти сохраненные странички не может загрузить на хостинг, пишет ошибка. Думал на имя файла ругается, сохранил с именем 123.html - нифига не помогает, ошибка и всё. Другие файлы грузит, а эти какие-то необычные :) Интересно бы разодраться, что в них необычного. | | |
10
- 01.03.2016 - 12:18
|
(9)да я с FSО c 13 года. как Высоцкий с конем. Тут отладил сохранение web странички в файл. перекодировку в 1251 (Romeх-у спасибо), самопальный парсинг странички закупки и страничек извещения и заказчика, а все вместе - Вася. И именно на файловых процедурах. Если ничего не записывать, а натравить обработку на ранее созданные ей и отвергнутые ей же файлы, то все прекрасно Имена очень простые - номер закупки + ".html" | | |
11
- 01.03.2016 - 12:31
|
Какие еще мысли ... может не успевает записать, антивирус отключить. ага,- я все мели тут зна..ю ... - вот первая :) | | |
12
- 01.03.2016 - 13:39
| Поставь паузу между записью и чтением. | | |
13
- 01.03.2016 - 15:09
|
ну причина действительно в паузе ) Только виноват не ADODDB Stream, а ЗапуститьПриложение в котором запускал утилиту Ромикса по перекодировке файла из UTF-8 в 1251. Поставил цикл и все работает. Но как то мне не нравится такое решение. Как на соплях | | |
14
- 01.03.2016 - 15:17
| 13-USSR >Таймаут - это нормально. | | |
15
- 01.03.2016 - 15:20
| FlushBuffer или как там это в ФСО называется | | |
16
- 01.03.2016 - 15:35
|
все равно еще не все заработало, но это уже другая песня ) (14)Просто как подобрать паузу, на одно машине ее достаточно, на другой будет мала | | |
17
- 01.03.2016 - 15:37
| (15)так тут ЗапуститьПриложение виновато. Страницы в UTF-8 и приходится их перекодировать, иначе не удалось мне нормально прочитать с помощью FSO. Как то неправильно это ) | | |
18
- 01.03.2016 - 15:43
| Цитата:
| | |
19
- 01.03.2016 - 15:53
| (18)спасибо огромное ) | | |
20
- 01.03.2016 - 16:02
|
(18)это все отлично заработало) еще раз спасибо. Со ссылками еще случается путаница, надо разбираться) А я уж было утром в ступор впал, когда простые файловые операции отказались работать. Сразу мир вокруг становится такой неустойчивый )) | | |
21
- 01.03.2016 - 16:04
|
(20) )) можно и напрямую utf читать, вот примерчик на вбс: Dim objStream, strData Set objStream = CreateObject("ADODB.Stream") objStream.CharSet = "utf-8" objStream.Open objStream.LoadFromFile("C:\Users\admin\Desktop\Art istCG\folder.txt") strData = objStream.ReadText() objStream.Close Set objStream = Nothing | |
| Интернет-форум Краснодарского края и Краснодара |