Witam, szukalem sposobu na wykonanie zdarzenie w przypadku gdy strona nie zostanie zaladowana w komponencie webbrowser. Wpadlem na pewien kod na jednej z zagranicznych stron, lekko go przerobilem i calosc wyglada tak:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var doc: IHTMLDocument2;
selection: IHTMLSelectionObject;
textRange: IHtmlTxtRange;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
Selection := Doc.Selection;
TextRange :=selection.createRange as IHTMLTxtRange;
TextRange.collapse(false);
if TextRange.findText('Nawigacja do strony sieci Web została anulowana',1,0) or TextRange.findText('Ten program nie może wyswietlić strony sieci web',1,0)
then
begin
// wykonaj zdarzenie jesli strona sie nie wyswietli
end;
JAk widac program szuka zadanego tekstu. W naszym przypadku to:
- Nawigacja do strony sieci Web została anulowana
- Ten program nie może wyswietlić strony sieci web
Czyli 2 komunikaty ktore pokazuja sie w webbrowser jesli strona sie nie zaladuje. Czy to dobre rozwiazanie problemu ? Dziala bez zarzutu