v8: Проблема с InternetExplorer.Application #554136


#0 by Коловрат
Когда то написал обработку для преобразования файла из IE в Excel. Все прекрасно работало до 07.06.11, а потом стала вылетать ошибка. Пример куска программы вот такой ИЕ = Новый COMОбъект("InternetExplorer.Application");         ИЕ.Visible = 0;    ИЕ.Silent = 0;         ИЕ.navigate(ФайлЗагрузки)  ;            сообщить(" нач "+ИЕ.ReadyState);                Пока ИЕ.ReadyState<4 Цикл   // Ждем пока оно загрузится                       сообщить(" цик "+ИЕ.ReadyState);               Состояние("Идет загрузка выписки");       КонецЦикла;   "Сообщить" добавил для проверки. Ошибка: При попытке запустить обработки выдается ошибка: "{Форма.Форма}: Ошибка при получении значения атрибута контекста (ReadyState): Неизвестная ошибка Пока ИЕ.ReadyState<4 Цикл // Ждем пока оно загрузится по причине: Неизвестная ошибка" На домашнем компе (win xp sp3, ie8) все работает. ИЕ.ReadyState сразу равно 1, а на работе на сервере ИЕ.ReadyState = 0, т.е. файл не инициализируется. (win server sp2, ie8). Не могу понять, в чем проблема.
#1 by Torquader
Во-первых, пока не началась загрузка (идёт, например, распознавание DNS), то объект Explorer-а ещё не готов, и запрашивать ReadyState нельзя. Нужно спросить Busy - если оно True, то надо ждать, пока будет готов отвечать. ИЕ.Navigate(НашСайт); While 1=1 Do If ИЕ.Busy<>0 Then  If ИЕ.ReadyState=4 Then Break;EndIf;  Message("Не загрузился"); EndIf; Message("Браузер не готов к работе!"); EndDo;
#2 by Коловрат
Спасибо, попробую, хотя сегодня само собой заработало.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С