Einzelnen Beitrag anzeigen

SebastianZ

Registriert seit: 23. Jul 2009
89 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Prozedur einer Variablen zuweisen

  Alt 17. Jan 2017, 13:58
Du könntest auch Anonyme Methoden verwenden.
http://docwiki.embarcadero.com/RADSt...oden_in_Delphi

Dadurch kannst du TNodeFunction sowohl eine andere Funktion als auch inline-deklarationen von Funktionen zuweisen (SomeOtherFunc)

Delphi-Quellcode:
interface

type
  TNodeFunction = reference to function(AInput: String): String;

implementation

function Func1(AInput: String): String;
begin
   result := AInput;
end;

function Func2(AInput: String): String;
begin
   result := 'Fooled You';
end;



procedure Demonstration;
var
  SomeFunc, SomeOtherFunc: TNodeFunction;
begin

     SomeOtherFunc := function (AInput: String): String; begin Result := UpperCase(AInput); end;

     SomeFunc := Func1;
     SomeFunc('Hello'); // returns 'Hello'
     SomeFunc := Func2;
     SomeFunc('Hello'); // returns 'Fooled You'

     SomeOtherFunc('lower case'); // returns 'LOWER CASE'

end;
  Mit Zitat antworten Zitat