Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#3

AW: Zugriffsverletzung bei nicht sichtbarem TWebBrowser

  Alt 8. Dez 2015, 16:45
unelegante Billiglösung:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  PageControl1.ActivePageIndex = 1; // Index der Seite, auf der sich der "Übeltäter" befindet.
end;
(Alternativ: Sofern eine "Beenderoutine" vorhanden, dort den ActivePageIndex ändern.)

Eventuell beim Beenden einen von den Beiden versuchen:
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WebBrowser1.Stop;
  WebBrowser1.Quit;
end;
In einer Schleife warten, bis WebBrowser1.Busy = false; ist.
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  // Keine Ahnung, ob hier die Gefahr einer Endlosschleife besteht,
  // weil Busy beim Programmbeenden eventuell nicht mehr false werden sollte...
  if WebBrowser1.Busy then repeat
    WebBrowser1.Stop;
    WebBrowser1.Quit;
    Sleep(1000);
  until not WebBrowser1.Busy;
end;
(Alles nur so hingedaddelt und ungetestet, keine Garantie für Wirksamkeit.)
  Mit Zitat antworten Zitat