Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: Zugriff auf Unterklasse absichern

  Alt 2. Aug 2017, 14:07
Verstehe ich hier etwas falsch und IfThen soll nicht den ternären Operator simulieren? Wenn ich richtig liege, würde nämlich nur Assigned(Analyse.Method) ausgewertet - was ja vollkommen legitim ist - und dann abhängig vom Ergebnis das erste- oder zweite Argument zurückgegeben.
Leider nicht, es werden alle Funktion für die drei Argumente ausgeführt. Kann man auch schnell hinterherdebuggen:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils,
  System.Math;

var
  Res: Integer;

function GiveDecision: Boolean;
begin
  Writeln('GiveDecision');
  Result := Boolean(RandomRange(0, 1));
end;

function GiveFive: Integer;
begin
  Writeln('GiveFive');
  Result := 5;
end;

function GiveFour: Integer;
begin
  Writeln('GiveFour');
  Result := 4;
end;

begin
  try
    Res := IfThen(GiveDecision, GiveFive, GiveFour);
    Writeln('Res: ' + Res.ToString);
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.
  Mit Zitat antworten Zitat