Hmm mir ist gerade noch was aufgefallen.
Zitat:
Delphi-Quellcode:
function Funktion1(const ParamStr: String; Sender: TObject): Boolean;
begin
Result := False;
try
(Sender as TObject).Destroy;
Result := True;
except
Result := False;
end;
end;
Der Parameter Sender ist sowieso schon TObject, der Typecast ist also überflüssig. Aber kann es sein, dass durch den expliziten Typecast eben nicht mehr der überschriebene Destruktor, sondern der von TObject aufgerufen wird? Ich weiß, ist virtual, aber das würde erklären warum es funktioniert, nachdem du den Type von Sender geändert hattest.