Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Multicast Events: Var Parameter

  Alt 7. Dez 2016, 10:54
Kleines Beispiel:

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  Spring;

type
  {$M+}
  TCallback = reference to procedure(var x: Integer);

procedure Add(var x: Integer);
begin
  x := x + x;
end;

procedure Mul(var x: Integer);
begin
  x := x * x;
end;

procedure Main;
var
  e: Event<TCallback>;
  i: Integer;
begin
  e.Add(Add);
  e.Add(Mul);

  i := 3;
  e.Invoke(i);
  Writeln(i); // 36

  e.Clear;
  e.Add(Mul);
  e.Add(Add);

  i := 3;
  e.Invoke(i);
  Writeln(i); // 18
end;

begin
  Main;
end.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat