问一下,在VB窗口中,是from的通用声明先执行还是form_load先执行呢?给分

时间:2022-09-12 11:08:22
问一下,在VB窗口中,是from的通用声明先执行还是form_load先执行呢?给分谢谢大家了!

19 个解决方案

#1


试一下不就知道了,在form_load里用一下那个声明

#2


应该form_load先执行

#3


应该form_load先执行

#4


通用声明

#5


通用声明

#6


例如代码如下:
Private i As Intege  '通用声明

Private Sub Form_Load() 'Load事件
  Dim j As Intege
End Sub

运行时"通用声明"先抱错

#7


通用声明的变量只有在用的时候才会给它分配地址的,LOAD先!

#8


form_load先~执行到变量处才去从声明开始找。。。

我理解是这样。

#9


楼上说的对!

#10


试一下不就知道了,在form_load里用一下那个声明

这样的方法很好

#11


是这样

#12


不对吧,先声明吧,不然怎么给属性赋值。如:
在窗体Form1中声明:
public cName as String
使用时:
dim xForm as Form1
set xForm=new xForm  '这时并没有执行Form1的Load(不用怀疑,我试过)
xForm.cName="一个窗体"
如果是不Load在声明之前,那个cName是哪儿来的。

#13


上面写漏了个 1,大家看得出来吧

#14


formload 先!!!!

#15


:)

#16


通用声明是初始化的过程,应该只是被编译了一下,而没有执行的部分,运行当然初始化在先,如果解释执行的话... 不知道!

#17


楼上说得对。
声明并不是可执行的语句,只是在对象建立时定义的变量表,这是静态的(相对于可执行语句),是在对象创建之初即随对象一起建立起的变量对照(也许可以这样说,函数也一样)。Load事件中的代码嘛,那至少是对象建立以后的事,因为创建声明部分的变量参照时,说不定Load函数都未建立起来呢?

我瞎说的,如果说错了,尽管指出。

#18


当然是通用声明在前啦!

Dim sAa As String

Public Property Get aa() As String
  aa = sAa
End Property

Public Property Let aa(ByVal vNewValue As String)
  sAa = vNewValue
End Property


Private Sub Form_Load()
  MsgBox sAa
End Sub

调用时先给AA赋值

然后把FORM SHOW出来就可以看清楚啦!

用public cName as String这一种的话,的确是Form_Load之后的!

#19


这个就像C语言一样,是从Load的,在Load中如果遇到了新的变量和函数,则到通用声明中去找它是什么类型,并为它分配地址。如果没找到,则提示变量没有定义
(在变量使用前必须声明的前提下)

#1


试一下不就知道了,在form_load里用一下那个声明

#2


应该form_load先执行

#3


应该form_load先执行

#4


通用声明

#5


通用声明

#6


例如代码如下:
Private i As Intege  '通用声明

Private Sub Form_Load() 'Load事件
  Dim j As Intege
End Sub

运行时"通用声明"先抱错

#7


通用声明的变量只有在用的时候才会给它分配地址的,LOAD先!

#8


form_load先~执行到变量处才去从声明开始找。。。

我理解是这样。

#9


楼上说的对!

#10


试一下不就知道了,在form_load里用一下那个声明

这样的方法很好

#11


是这样

#12


不对吧,先声明吧,不然怎么给属性赋值。如:
在窗体Form1中声明:
public cName as String
使用时:
dim xForm as Form1
set xForm=new xForm  '这时并没有执行Form1的Load(不用怀疑,我试过)
xForm.cName="一个窗体"
如果是不Load在声明之前,那个cName是哪儿来的。

#13


上面写漏了个 1,大家看得出来吧

#14


formload 先!!!!

#15


:)

#16


通用声明是初始化的过程,应该只是被编译了一下,而没有执行的部分,运行当然初始化在先,如果解释执行的话... 不知道!

#17


楼上说得对。
声明并不是可执行的语句,只是在对象建立时定义的变量表,这是静态的(相对于可执行语句),是在对象创建之初即随对象一起建立起的变量对照(也许可以这样说,函数也一样)。Load事件中的代码嘛,那至少是对象建立以后的事,因为创建声明部分的变量参照时,说不定Load函数都未建立起来呢?

我瞎说的,如果说错了,尽管指出。

#18


当然是通用声明在前啦!

Dim sAa As String

Public Property Get aa() As String
  aa = sAa
End Property

Public Property Let aa(ByVal vNewValue As String)
  sAa = vNewValue
End Property


Private Sub Form_Load()
  MsgBox sAa
End Sub

调用时先给AA赋值

然后把FORM SHOW出来就可以看清楚啦!

用public cName as String这一种的话,的确是Form_Load之后的!

#19


这个就像C语言一样,是从Load的,在Load中如果遇到了新的变量和函数,则到通用声明中去找它是什么类型,并为它分配地址。如果没找到,则提示变量没有定义
(在变量使用前必须声明的前提下)

#20