Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

AW: TWebBrowser verursacht Fehler bei Ansteuerung

  Alt 8. Apr 2012, 18:50
Kleiner kommentierter Ausschnitt aus dem Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Form2: TForm2; // lokale Variable mit dem gleichen Namen wie eine globale Variable!!
begin
  Form2 := TForm2.Create(nil);
  Form2.Show;
  // lokale Variable geht für immer verloren
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // Ups - Zugriff auf globale Variable
  Form2.WebBrowser1.Refresh;
end;
Und so hätte man das Problem finden können:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  // Beim Aufruf von Refresh gibt es eine Zugriffsverletzung
  // also muss überprüft werden, ob die Objekte wirklich angelegt wurden
  Assert(Assigned(Form2));
  Assert(Assigned(Form2.WebBrowser1));
  Form2.WebBrowser1.Refresh;
end;
Andreas
  Mit Zitat antworten Zitat