回 帖 发 新 帖 刷新版面

主题:建个项目,两个窗体,form1上放个文本框,按钮各一个,然后拷上我的几行代码,就会重现怪现象

建个项目,两个窗体,form1上放个文本框,按钮各一个,然后拷上我的几行代码,就会重现怪现象
这些代码在vb6环境中运行完全正常,但是编译为exe后就会报错:运行时错误‘5’,无效的过程调用或参数,
现在任何人都可以还原这个现象。

[code=VB]
Option Explicit

'这个程序编译成exe执行就会报错,真是怪了,原因是什么呢?
Private Sub Command1_Click()
    '注form2是一个空窗体,什么也没有
    Form2.Show vbModal
    MsgBox "现在如果是exe文件就已经出错了,然后会异常关闭!运行时错误5,无效的过程调用或参数"
    
End Sub

Private Sub Form_Activate()
    Text1.SetFocus
End Sub

Private Sub Form_Load()
    Command1.Caption = "点我一下试试"
End Sub
[/code]

回复列表 (共2个回复)

沙发

在Form2.Show vbModal语句后面只能有赋值语句,不能有动作类的语句

板凳

问题出在Text1.SetFocus
Private Sub Form_Activate()
    On Error Resume Next
    Text1.SetFocus
End Sub
当后面MsgBox时,Form1已经不是前台窗口,此时Text1.SetFocus会失败引发异常(注释掉MsgBox就不会引发异常)

我来回复

您尚未登录,请登录后再回复。点此登录或注册