Thema: FreePascal nach self.Free beenden

Einzelnen Beitrag anzeigen

Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

nach self.Free beenden

  Alt 6. Aug 2010, 19:18
Hallo!
Zuerst einmal:
Ich habe folgendes Konstrukt (vereinfacht):
Delphi-Quellcode:
TKlasse2=class
  procedure Foo2;
  FKlasse1:TKlasse1;
  constructor Create(Klasse1:TKlasse1);
end;

TKlasse1=class
  FKlasse2:TKlasse2;
  procedure Foo;
  procedure DoException;
  destructor Destroy; override;
end;


procedure TKlasse2.Foo2;
begin
  FKlasse1.DoException;
  //irgendwas
end;

procedure TKlasse1.Create(Klasse1:TKlasse1);
begin
  FKlasse1:=Klasse1;
end;

procedure TKlasse1.Foo;
begin
  FKlasse2.Foo2;
  //irgendwas
end;

procedure TKlasse1.Destroy;
begin
  FKlasse2.Free;
  inherited;
end;

procedure TKlasse1.DoException;
begin
  self.Free;
end;
So.
Hier werden zwar nach DoException die beiden Klassen freigegeben, aber das was bei irgendwas steht, wird danach immer noch ausgeführt. Wie kann ich das verhindern?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat