Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Button: TButton absolute Sender;
begin
if Sender is TButton then
Button.Caption := 'ich bin ein Button';
end;
Bei solchen Funktionen kenn ich es oft, daß sie den Ausgabewert nur setzen, wenn die Prüfung erfolgreich war.
Delphi-Quellcode:
function TObjectHelper.TryCast<TCastType>(out Object: TCastType): Boolean;
begin
Result := Self is AClass;
if Result then
Object := Self;
end;
Aber ich glaub es könnte fehlerunanfälliger sein, wenn man den Wert dennoch initialisiert (nil).