VB要求对象.急!急!急!

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:42:32
最近我在编一个游戏,执行一下代码时,提示"错误424,要求对象"小弟不知那里写错了,向DX请教!
代码如下:
Private Type Abc
HP As Integer
mf As Integer
End Type

Private Sub Form_Load()
Dim WO As Abc
Dim DF As Abc
WO.HP = 2000
WO.mf = 2000
DF.HP = 2000
DF.mf = 2000
End Sub

Private Sub LDS_Click()
If WO.mf > 119 Then
WO.mf = WO.mf - 120
Picture7.Width = Picture2.Width - 120
DF.HP = DF.HP - 235
Picture2.Width = Picture3.Width - 235
Else
MsgBox "你的魔法不够了!"
End If
DF.True
End Sub

Private Type Abc
HP As Integer
mf As Integer
End Type
Dim WO As Abc
Dim DF As Abc '哥们你应该把定义放在这里,否则在LDS_Click这里是看不到的
Private Sub Form_Load()

WO.HP = 2000
WO.mf = 2000
DF.HP = 2000
DF.mf = 2000
End Sub

Private Sub LDS_Click()
If WO.mf > 119 Then
WO.mf = WO.mf - 120
Picture7.Width = Picture2.Width - 120
DF.HP = DF.HP - 235
Picture2.Width = Picture3.Width - 235
Else
MsgBox "你的魔法不够了!"
End If
DF.True '这句什么意思
End Sub
还有你在窗体上有picture2 和 picture7 这两个控件吗?你检查一下

Form_Load过短中定义的WO、DF与LDS_Click过程中用到的WO、DF有关系吗?
如果有关系:
1、WO、DF的定义不能在Form_Load过程中,要放在模块首部;
2、DF.True语句非法。
如果没有关系,那也请检查一下WO、DF的定义和DF.True语句是否正确吧。 :)

Private Type Abc
HP As Integer
mf As Integer
End Type

Dim WO As Abc
Dim DF As Abc

...

'声明WO和DF时要用全局声明变量,不要放在FORM事件中。

自定义类型必须放在模块