Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Funktion, die beliebigen Typ zuweist und als Bool auswertet

  Alt 2. Mär 2011, 10:26
Ein untypisierter VAR-Parameter?

Aber da mußt du dann selber außassen, daß die Typen passen.

Delphi-Quellcode:
function SetCheck(var Target; const Value: TObject): Boolean;
begin
  TObject(Target) := Value; // evtl. PObject(@Target)^ := Value;
  Result := Assigned(Value);
end;
Wenn du es als Klassenmetode machst, dann auch so:
(als eigenständige Funktion ging das mit den Gernerics, glaub ich, leider nicht)
Delphi-Quellcode:
function {TMyClass.}SetCheck<T: object>(var Target: T; Value: T): Boolean;
begin
  Target := Value;
  Result := Assigned(Value);
end;

if SetCheck<TDeineKlasse>(X, Y) then
PS: Sowas if ($LocalValue = $Value * 10) wird z.B. von Netbeens in PHP gern mal "bemängelt", da es nicht wirklich der Lesbarkeit des Codes dienlich ist.
$2B or not $2B

Geändert von himitsu ( 2. Mär 2011 um 10:30 Uhr)
  Mit Zitat antworten Zitat