Einzelnen Beitrag anzeigen

Wosi

Registriert seit: 29. Aug 2007
59 Beiträge
 
#26

AW: Zugriff auf Unterklasse absichern

  Alt 2. Aug 2017, 14:47
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.

Geändert von Wosi ( 2. Aug 2017 um 14:50 Uhr)
  Mit Zitat antworten Zitat