13 мар. 2011 г.

Вызов функции по ссылке в VBScript

Хотя в языке VBScript отсутствует понятие указатель на процедуру/функцию (собственно, отсутствует понятие указатель как таковое), достигнуть похожего эффекта можно с помощью конструкции Eval. В приведенном ниже примере на вход процедуры Test передается имя функции, которая должна быть вызвана.
Option Explicit

Function TestAdd(A, B)
  TestAdd = A + B
End Function

Function TestSubstract(A, B)
  TestSubstract = A - B
End Function

Sub Test(FuncName, K, N)
  MsgBox Eval(FuncName & "(K, N)")
End Sub

Sub Macros
  Test "TestAdd", 100, 40        ' на экране 140
  Test "TestSubstract", 100, 40  ' на экране 60
End Sub

Комментариев нет:

Отправить комментарий