Форум: "Сети";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
ВнизОпять WebBrowser. Ожидание загрзки??? Найти похожие ветки
← →
JanMihail (2008-01-17 18:35) [0]Var
HTMLNext: IHTMLElement;
…
procedure TForm1.Button1Click(Sender: TObject);
var
Rez : Byte;
s : OleVariant;
begin
//Запускаем бесконечный цикл, но внутри есть условие выхода
while True do
begin
{Получаем результат функции GetLink. Она ищет нужную ссылку на загруженной в IE(TWEbBrowser)страницы и записывает ее в HTMLNext, Если ее нет то Result = 2}
Rez := GetLink;
If Rez = 2 then
break;
HTMLNext.click;{---Вот здесь ссылка нажимается и проходит какое-то время после того как IE срабатывает и цикл успевает за это время выполниться. Т.е. IE еще находится в состоянии Busy = false и ReadyState = 4. И цикл для ожидания загрузки проходит, а потом начинается загрузка и пошла каша. Как мне подождать пока страница загрузится???}
while true do
begin
if (not IE.Busy) and (IE.ReadyState = 4) then break;
sleep(0);
Application.ProcessMessages;
end;
end;
MessageDlg("Считывание завершено!!!", mtInformation, [mbOK], 0);
end;
← →
JanMihail (2008-01-18 09:49) [1]Спасибо! Уже сам решил. Кому интересно вот код.
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
CurWebrowser: IWebBrowser;
TopWebBrowser: IWebBrowser;
Document: OleVariant;
WindowName: string;
begin
CurWebrowser := pDisp as IWebBrowser;
TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
if CurWebrowser = TopWebBrowser then
begin
Label1.Caption := Label1.Caption + #13 + "Документ полностью загружен";
Beep;
end
else
begin
Document := CurWebrowser.Document;
WindowName := Document.ParentWindow.Name;
Label1.Caption := Label1.Caption + Format("Фрэйм "%s" загружен", [WindowName]) + #13;
end;
end;
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c