Оператор Procptr (Процедурный указатель)
 
Возвращает адрес процедуры

Синтаксис

Declare Operator ProcPtr ( ByRef lhs As T ) As T Ptr

Использование

result = ProcPtr ( lhs )

Параметры

lhs
процедура.
T
тип процедуры.

Возвращаемое значение

Возвращает адрес процедуры.

Описание

Этот оператор возвращает адрес Sub или Function.

Оператор @ (Адрес из), при использовании процедур, имеет такое же поведение.

Пример

' В этом примере используется ProcPtr , чтобы продемонстрировать указатель на функцию
Declare Function Subtract( x As Integer, y As Integer) As Integer
Declare Function Add( x As Integer, y As Integer) As Integer
Dim myFunction As Function( x As Integer, y As Integer) As Integer

' указателю myFunction теперь будет назначено Add
myFunction = ProcPtr( Add )
Print myFunction(2, 3)

указателю myFunction теперь будет назначено Subtract.  Обратите внимание на различный вывод.
myFunction = ProcPtr( Subtract )
Print myFunction(2, 3)

Function Add( x As Integer, y As Integer) As Integer
    Return x + y
End Function

Function Subtract( x As Integer, y As Integer) As Integer
    Return x - y
End Function


Различие диалектов

  • Нет в наличии в диалекте -lang qb , но есть псевдоним __Procptr.

Отличия от QB

  • Новое в FreeBASIC

См. также