关于VB的一点小疑问,送分......
在定义一般的数据类型时,可以用:
Dim i As Integer
i=0
来实现,但是如果我定义一个Form形式的窗口时,使用
Dim fmTG As frmAddIn
fmTG.Show
就出错,必须使用
Dim fmTG As frmAddIn
Set fmTG = New frmAddIn
fmTG.Show
或者
Dim fmTG As New frmAddIn
fmTG.Show
请问这是为什么呢?说白了Integer跟frmAddIn是不是一回事呢?
不才,不要笑我。^_^
问题点数:20、回复次数:6Top
1 楼ziyantan(gdsspt.com)回复于 2004-12-01 16:01:23 得分 0
对象和类型。
我也不会。
可以这样回答吗?Top
2 楼newsuperstar(与日月齐辉)回复于 2004-12-01 16:01:42 得分 5
这两者不同
因为Integer 是一般性的数据类型,而Form是VB中的一个类,使用时必须实例化,这样才能显示Top
3 楼baoaya(点头)(大风起兮云飞扬)回复于 2004-12-01 16:04:11 得分 10
其实窗口也是可以称为类 ,要使用他必须先实例化,通俗一点就是加载到内存,譬如
Dim fmTG As new frmAddIn 'new 关键字 就是加载到内存
如果这样定义:
Dim fmTG As frmAddIn '只是定义了一个4个字节的指针,要实例化 必须:
Set fmTG = New frmAddIn
另外窗口是比较特殊的类,可以引用窗口的名字 直接创建一个实例 ,譬如:
frmAddIn.Show
另外Integer 是一个普通的数据类型,Integer占2个字节,使用的时候不需要创建一个实例
定义好直接可以使用Top
4 楼aohan(aohan)回复于 2004-12-01 16:05:18 得分 0
Integer跟frmAddIn是不是一回事
当然不是一回事
Top
5 楼zyp2kyear(E腾鸟)回复于 2004-12-01 16:48:54 得分 5
象MFC中的类一样。必须先实例化,才能使用。Top
6 楼rossilx(小新)回复于 2004-12-01 17:04:57 得分 0
我有个问题想请教:
Dim Agent1 as string
Dim Info as string
Dim i as integer
i=1
Agent1="A"
Info="Agent" & i
结果Info值为"Agent1"而不是"A" 用什么方式才能解决 让Info值为"A"
谢谢
Top




