Thema: Delphi Type-Syntax-Erklärung

Einzelnen Beitrag anzeigen

Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#4

Re: Type-Syntax-Erklärung

  Alt 21. Dez 2004, 20:58
Das ist ein Funktionszeiger. So wie ein normaler Zeiger auf eine Variable zeigen kann, zeigt ein Funktionszeiger auf eine Funktion. Der Unterschied ist, dass man einer Funktion auch noch Parameter übergeben kann, deshalb muss der Funktionszeigertyp nach folgendem Muster deklariert werden:

Delphi-Quellcode:
type
  PFunction = function(a: Integer): Integer;
  PProcedure = procedure(a: Integer);
Dann musst du eine Funktion haben, die deren Parameterliste der des Funktionszeigers in Typ und Reihenfolge entspricht. Dann musst du den Funktionszeiger auf die Funktion zeigen lassen, und du kannst fortan mit dem Funktionszeiger die Funktion aufrufen.

Delphi-Quellcode:
type
  PAddFunc: function(a, b: Integer): Integer;

function Add(a, b: Integer); Integer;
begin
  Result := a + b;
end;

procedure Main();
var
  AddFunc: PAddFunc;
  i: Integer;
begin
  AddFunc := @Add;
  i := AddFunc(4, 5);
end;
  Mit Zitat antworten Zitat