Gewusst wie: Übergeben von Funktionen als Parameter in Prozeduren in Delphi?

Ist es möglich, ein Objekt übergeben-Funktion, die als parameter in einer Prozedur anstatt das gesamte Objekt?

Habe ich eine record-definition mit einer Funktion definiert als öffentliche class-parameter wie:

    TMyRecord = record
      public
        class function New(const a, b: Integer): TMyRecord; static;
        function GiveMeAValue(inputValue: integer): Single;
      public
        a, b: Integer;
      end;

Die Funktion könnte etwa so Aussehen:

    function TMyRecord.GiveMeAValue(inputValue: Integer): Single;
    begin
      RESULT := inputValue/(self.a + self.b);
    end;

Ich dann wollen, definieren Sie eine Prozedur ruft die Funktion Klasse GiveMeAValue aber ich will nicht, dass es vorbei die ganze Platte. Kann ich etwas tun, wie zum Beispiel:

    Procedure DoSomething(var1: Single; var2, var3: Integer, ?TMyRecord.GiveMeAValue?);
    begin
      var1 = ?TMyRecord.GiveMeAValue?(var2 + var3);
      //Do Some Other Stuff
    end;

Wenn ja, wie könnte ich dann richtig übergeben Sie der Funktion als parameter für eine Prozedur?

InformationsquelleAutor Trojanian | 2013-11-05
Schreibe einen Kommentar