Witam Was.
Ostatnio zauważyłem pewien problem w moim programie i nie potrafię sobie z nim poradzić.
Utworzyłem funkcję wyszukiwania w Google. Wyniki są pokazywane w nowej zakładce (TTabSheet > PageControl)
Operacja wyszukiwania wygląda tak:
var
ta:TTabSheet;
wa: TEmbeddedWB;
prg: TProgressBar;
begin
if Key = #13 then
begin
if google.Text <> '' then
if setup.CheckBox5.Checked then
begin
ta := TTabSheet.Create(ram_) ;
ta.PageControl := ram_;
ta.Caption:='Google';
Wa:= TEmbeddedWB.Create(ta);
ta.InsertControl(wa);
wa.Align:=alClient;
wa.AddressBar:=False;
wa.FullScreen:=False;
wa.Offline:=True;
wa.RegisterAsBrowser:=False;
wa.RegisterasDropTarget:=False;
wa.StatusBar:=False;
wa.Visible:=True;
UstawEnabled;
wa.OnNewWindow2:=NewWnd2;
wa.OnNewWindow3:=NewWnd3;
wa.Navigate(pChar('http://www.google.pl/search?q='+google.Text));
wa.OnProgressChange:=PrgsChange;
ram_.ActivePage := ta;
No i teraz w czym problem... chodzi o zamykanie zakładki. Jeżeli wyjdę z otwartej strony, czyli wyników Google na inną (np znalazłem to co mnie interesuj i w to klikam) przy kasowaniu zakładki otrzymuje AccesViolation gdzie procedura wygląda tak:
if AnsiUpperCase(ram_.ActivePage.Caption) = 'GOOGLE' then
begin
ram_.ActivePage.Destroy; //tutaj konkretnie jest błąd
exit;
end;