ID : 5279
CallByName
功能
调出并执行过程。与Call指令不同,过程名中可使用公式。
格式
CallByName 过程名[, 自变量列表[,返回值]]
指定项目
- 过程名
- 通过字符串型数据指定调出的过程名。
- 自变量列表
- 通过变体(Variant)型排列指定传送至过程的自变量。
- 返回值
- 结合调出过程返回值的类型指定加入返回值的变量。该指定仅在Function过程中存在返回值时有效,其它情况时忽略。
解说
执行程序时,评价作为过程名指定的公式,灵活创建过程名并进行Call动作。便于对名称连号的程序集中进行Call。
相关项目
Call、其它与Call相同。
注意事项
请参照Call。
CallByName与Call不同,不支持参照传值(ByRef)。用参照传值(ByRef)指定了要调用的过程的自变量时,被当作指定了传值(ByVal)处理。
有关参照传值(ByRef)、传值(ByVal),请参照“带自变量调出过程”。
应用示例
如下示例中,For文使用Function过程Hoge1~Hoge5灵活创建名称并进行Call动作。由于有3个Hoge1~Hoge5的
自变量,因此在CallByName中定义3个要素的排列。
'!TITLE "调出、执行使用公式的过程"
'Pro1.pcs
Sub Main
TakeArm Keep = 0
Dim lRes As Integer
Dim n As Integer
'使用公式创建过程名Hoge1~Hoge5并调出
For n = 1 To 5
'通过排列指定传送至过程的自变量
CallByName "Hoge" & n, Array( "Hoge" & n, n, P[n] ), lRes
PrintDbg lRes
Next
End Sub
Function Hoge1( ByVal sVal As String, ByVal lCnt As Integer,
ByVal posCur As Position ) As Integer
Hoge1 = lCnt
End Function
Function Hoge2( ByVal sVal As String, ByVal lCnt As Integer,
ByVal posCur As Position ) As Integer
Hoge2 = lCnt
End Function
Function Hoge3( ByVal sVal As String, ByVal lCnt As Integer,
ByVal posCur As Position ) As Integer
Hoge3 = lCnt
End Function
Function Hoge4( ByVal sVal As String, ByVal lCnt As Integer,
ByVal posCur As Position ) As Integer
Hoge4 = lCnt
End Function
Function Hoge5( ByVal sVal As String, ByVal lCnt As Integer,
ByVal posCur As Position ) As Integer
Hoge5 = lCnt
End Function
ID : 5279