Ich glaube ich kann damit etwas anfangen.
Im Grunde minte ich sowas in der Art. Ich hab die Aussagen oben durch den Code überprüft und es stimmt - es wird sofort der Destroy aufgerufen
Delphi-Quellcode:
type
TErrorTest = class
Wert: Integer;
constructor Create;
destructor Destroy; override;
end;
constructor TErrorTest.Create;
var
a: Integer;
begin
a := 0;
Wert := 1 div a;
end;
destructor TErrorTest.Destroy;
begin
ShowMessage('Es hat Bum gemacht.');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
o: TErrorTest;
begin
o := TErrorTest.Create;
try
ShowMessage('Der Wert ist: ' + IntToStr(o.Wert));
finally
//o.Free;
end;
end;
Für die zweite Frage habe ich auch eine Lösung. Die Schleife wird in einem Try Except Block ausgeführt. Gibt es einen Fehler, geht es raus.