急救啊,vb程序假死,不知道哪里出错

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:08:05
我正在编辑个显示3d图像的程序,加上了个循环语句就假死了,请帮忙指出问题,急
Dim dx, dy, dz As Single
Dim bdchang, adchang As Single
Dim cx, cy As Single
Dim xieac, bac As Single
Dim fx, fy As Single
Dim tfx, tfy As Single
Private Sub Command1_Click()
For i = 1 To 3
a = 10
b = 10
c = 10
g = 2
h = 1
i = 1
If a <> g Then
xieacxy = (b - h) / (a - g)
bacxy = b - xieacxy * a
acxya = 1

Else
acxya = 0
bacxy = a
xieacxy = -1
End If

If b <> e Then
xieacyz = (c - i) / (b - h)
bacyz = c - xieacyz * b
acyza = 1

Else
acyza = 0
bacyz = b
xieacyz = -1
End If

If a <> g Then
xieacxz = (c - i) / (a - g)
bacxz = i - xieacxz * a
acxza = 1

Else
acxza = 0
bacxz = a
xieacxz = -1
End If

abchang = Sqr(a ^ 2 + b ^ 2 + c ^ 2)
acchang = Sqr((a - g) ^ 2 + (b - h) ^ 2 + (c - i) ^ 2)

Dim dx, dy, dz As Single
Dim bdchang, adchang As Single
Dim cx, cy As Single
Dim xieac, bac As Single
Dim fx, fy As Single
Dim tfx, tfy As Single
Private Sub Command1_Click()
For i = 1 To 3
a = 10
b = 10
c = 10
g = 2
h = 1
i = 1

到这里就出问题了~这里控制循环的变量时i,每次到这里,都会给i重新赋值1~next之后,i就等于2了~还是在1和3之间,所以是死循环

你的i参与了循环计算啊!永远也到不了3啊!当然是死循环了啊! 换一个变量名或修改for i=1 to 3为for ii=1 to 3

你的i陷入了死循环,因为每次循环,i都会被重新赋值,所以i永远到不了3
另外,If a = 0 Then
Line1.X1 = tfx
Line1.Y1 = tfy
Line2.X1 = tfx
Line2.Y1 = tfy
Text1.Text = tfx
Text2.Text = tfy
a = 1
g = 1
h = 1
i = 2
End If
If a = 1 Then
Line1.X2 = tfx
Line1.Y2 = tfy
Line3.X2 = tfx
Line3.Y2 = tfy
a = 2
g = 0
h = 1
i = 1
End If
If a = 2 Then
Line3.X1 = tfx
Line3.Y1 = tfy
Line2.X2 = tfx
Line2.Y2 = tfy
End If
这段的a也是和前面的冲突了,目前就发现这些问题