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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie definieren neuen Datentyp für die Funktion, wie
dann definieren Sie die Methode
DoSomething
Und wie so
procedure-or-function of object
syntax leichter lesbar als diereference to procedure-or-function of object
syntax zu. schreibenprocedure (a,b,c:Integer) begin ... end
inline beginnt zu hässlich.of object
welche von der Funktion ist eine Referenz auf eine Methode einer Instanz Objekt. Finden Sie mehr Infos in der Delphi DocWiki