Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#1

Variable und Eigenschaftswert vergleichen - prozeduraler Typ

  Alt 30. Jul 2008, 21:25
Hallo.

Ich möchte eine Variable und einen Eigenschaftswert vergleichen -- Besonderheit: prozeduraler Typ.

Die Compiler-Fehlermeldung ist: "Nicht genügend wirkliche Parameter". Wie kann ich die Werte vergleichen?

Delphi-Quellcode:
program Vergleich;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TMyFunc = function (const Item1, Item2: Pointer): Integer;

  TMyClass = class
    private
    FMyProp: TMyFunc;

    public
    property MyProp: TMyFunc read FMyProp write FMyProp;

    constructor Create;
  end;

function MyFunc(const Item1, Item2: Pointer): Integer;
begin
  Result:=0;
end;

{ TMyClass }

constructor TMyClass.Create;
begin
  inherited;
  MyProp:=MyFunc;
end;

var
  F: TMyFunc;
  Instance: TMyClass;
begin
  F:=MyFunc;
  Instance:=TMyClass.Create;
  try
    { Compiler-Fehlermeldung:
    E2035 Nicht genügend wirkliche Parameter
    if F =| Instance.MyProp then }

    if F = Instance.MyProp then
      WriteLn('gleich')
    else
      WriteLn('ungleich');
  finally
    Instance.Free;
  end;
end.
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat