Referenz - PROCPTR
Syntax: PROCPTR (Prozedurname)
Typ: Funktion
Kategorie: Pointer
PROCPTR gibt die Adresse einer Prozedur (SUB oder FUNCTION) im Speicher zurück. Diese Funktion lässt sich auch durch die Form
@Prozedurname
ersetzen.
Beispiel 1:
DECLARE SUB dummy
PRINT PROCPTR(dummy)
PRINT @dummy
SLEEP
SUB dummy
' ...
END SUB
Beispiel 2:
Declare Function Addieren(x As Integer, y As Integer) As Integer
Declare Function Subtrahieren(x As Integer, y As Integer) As Integer
Dim myFunction As Function(x As Integer, y As Integer) As Integer
'Verbindet den Funktionspointer mit der Funktion 'Addieren'
myFunction = @Addieren
Print myFunction(2, 3)
'Verbindet den Funktionspointer mit der Funktion 'Subtrahieren'
myFunction = ProcPtr(Subtrahieren)
Print myFunction(2, 3)
Sleep
Function Addieren(x As Integer, y As Integer) As Integer
Return x + y
End Function
Function Subtrahieren(x As Integer, y As Integer) As Integer
Return x - y
End Function
Unterschiede zu QB: neu in FreeBASIC
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht PROCPTR nicht zur Verfügung und kann nur über __PROCPTR aufgerufen werden.
Siehe auch:
@, SADD, Grundlagen zu Pointern, Zusammenstellung von Pointer-Anweisungen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|