Skip to content

Call

将控制权转移到 Sub 过程Function 过程或动态链接库(DLL)过程。

语法:

  • Call name ( [ argumentlist ] )
    当指定 Call 关键字时,argumentlist 必须用括号括起来。

  • name ( [ argumentlist ] )
    不使用 Call 关键字时,argumentlist 可以选择是否用括号括起来,

  • name [ argumentlist ]

name
要调用的过程名称
argumentlist
可选 传递给过程的变量、数组或表达式的逗号分隔列表。argumentlist 的组成部分可以包含 ByValByRef 关键字,以描述参数传递给被调用过程的方式。

调用过程时不需要 Call 关键字。但是,当使用 Call 关键字调用需要参数的过程时,argumentlist 必须用括号括起来。省略 Call 关键字时,argumentlist 周围的括号也必须省略。使用任一 Call 语法调用任何内部或用户自定义函数时,函数的返回值将被丢弃。

要将整个数组传递给过程,请使用数组名后跟空括号。

示例

本示例演示如何使用 Call 语句将控制权转移到 Sub 过程、内部函数和动态链接库(DLL)过程。

vb
' Call a Sub procedure. 
Call PrintToDebugWindow("Hello World")     
' The above statement causes control to be passed to the following 
' Sub procedure. 
Sub PrintToDebugWindow(AnyString) 
    Debug.Print AnyString    ' Print to the Immediate window. 
End Sub 
 
' Call an intrinsic function. The return value of the function is 
' discarded. 
Call Shell(AppName, 1)    ' AppName contains the path of the  
        ' executable file. 
 
' Call a Microsoft Windows DLL procedure. The Declare statement must be  
' Private in a Class Module, but not in a standard Module. 
Private Declare Sub MessageBeep Lib "User" (ByVal N As Integer) 
Sub CallMyDll() 
    Call MessageBeep(0)    ' Call Windows DLL procedure. 
    MessageBeep 0    ' Call again without Call keyword. 
End Sub

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有