Da es ja hier um einen String geht, dürfte das IfThen aus StrUtils gemeint sein:
Zitat von
StrUtils (Delphi Berlin):
Delphi-Quellcode:
function IfThen(AValue: Boolean; const ATrue: string;
AFalse: string = ''): string;
begin
if AValue then
Result := ATrue
else
Result := AFalse;
end;
Das sollte doch gefahrlos anzuwenden sein wie gezeigt.
[edit] Nee, Denkfehler, es wird ja trotzdem darauf zugegriffen. [/edit]
Um die Auswertung von
Analyse.Method.Name nur im Erfolgsfall durchzuführen, müsste man anstelle eines String-Parameters ein
TFunc<String> verwenden:
Delphi-Quellcode:
function IfThen(AValue: Boolean; const ATrueFunc: TFunc<String>;
AFalse: string = ''): string;
begin
if AValue then
Result := ATrueFunc()
else
Result := AFalse;
end;
Der Aufruf sähe dann so aus:
IfThen(Assigned(Analyse.Method), function: String begin Result := Analyse.Method.Name end);
Und da diese Schreibweise ein wenig aufwendig ist, kann man auch gleich bei
Delphi-Quellcode:
if Assigned(Analyse.Method) then
Label1.Caption := Analyse.Method.Name;
bleiben.