
VB在调用过程时,通过使用参数传递的方式实现调用过程与被调用过程之间的数据通信。参数传递实际上就是借助形参(在Sub或Function定义语句中)和实参(在调用程序中)的“结合”来实现。
按值传递:1)当实参为常量或表达式时;2)实参是变量时,在形参之前设置关键字ByVal。
按地址传递:当实参为变量或数组时,形参之前设置关键字ByRef(或省略)表示要按地址传递。
VB默认的参数传递方式是按地址传递。
你所说的另一个类中调用时所用的那个formLightArrow中的form是从哪来的,如果是重新声明的一个窗体,类似于xxx form=new xxx()这种,那当然是不行的,解决的方法其实与变量传递一样,比如仍然用静态变量
//我不清楚这你个定义结构和方法的窗体叫什么,比如是Form1public static Form1 current=null;
//然后在这个类的构造函数中
public Form1()
{
InitializeComponent();
current = this;//赋值
}
public void LightArrow(int i)
{
ArrowPositonInformation[i]FlagShow = 255;
}
然后在其它类或者其它地方,就可以直接用
Form1currentLightArrow(3);
Option Explicit
' r是一个模块级变量
Dim r As Integer
Sub Add(ByVal x As Integer, ByVal y As Integer)
'将计算结果存放到 r
r = x + y
End Sub
Private Sub Form_Click()
'调用子程序Add
Call Add(10, 20)
'获取计算结果并打印
Print r
End Sub
以上就是关于向过程传递参数有什么传递和什么传递两种方法,其中什么是VB默认的参数传递方式全部的内容,包括:向过程传递参数有什么传递和什么传递两种方法,其中什么是VB默认的参数传递方式、C#程序开发类间传递参数问题、子程序和主程序之间的参数传递是通过什么方式实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)