自己在做机房收费系统的时候,调试的时候没有遇到此类错误。但是又一次调试不想再登陆窗口启动,就把启动项设置为了别的窗体,结果再改到Sub main启动,窗体就不能运行了。
错误的表现有两种:第一种是什么都不显示,不能加载主窗体,登录窗体也不见了,结果按结束程序的时候,整个程序就崩溃了,vb直接停止运行。第二种,弹出错误窗体
如下:
起初出现这种错误,我这属于第一种,没有提示什么都没有,最终就是把启动项改到一frmlogin,这样程序才能继续运行下去。
昨天又遇到了此错误,然后这才发现,改启动项只是暂时的,但是不知道错误的根本原因是不行的。不能逃避问题。
出现错误的原因如下:
Dim fLogin As New frmLogin
fLogin.Show vbModal 'vbModal 模式窗体
If Not fLogin.ok Then
End
End If
Unload fLogin
Set fMainForm = New frmMain
fMainForm.Show
在这段代码中有一个fMainForm.Show,但是好玩的是,我们在登陆窗体的代码中也写到了这一点,以至于导致窗体在将要加载的时候,就获得了加载两个主窗体的代码命令,在这个时候对于只能加载一个主窗体的程序,只能奔溃。
所以我们只需要在登陆窗体中把fMainForm.Show删除或者注释掉,就能解决问题了。
这次的问题,学到的不仅仅是解决了一个问题,懂得了一个知识点,更重要的是遇到问题不要退缩。如果这次退缩,我们获得的知识心灵上的一个安慰。那下一次呢,也许下一次没有解决会带来更严重的后果。