首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

程序异常 由哪些原因造成的呢

2012-03-22 
程序错误 由哪些原因造成的呢?编译后的程序从窗体关闭退出Form_Unload没有问题可是通过托盘中右击快捷菜单

程序错误 由哪些原因造成的呢?
编译后的程序从窗体关闭退出Form_Unload没有问题
可是通过托盘中右击快捷菜单退出,调用Form_Unload:
Private   Sub   mnuTrayexit_Click()
      Call   Form_Unload(0)
End   Sub
却出现“正在创建错误日志”的“程序错误”,怎么回事?

-------------------------------------------------------
程序错误
xxx.exe产生了错误,会被Windows关闭。您需要重新启动程序。

正在创建错误日志。
-------------------------------------------------------

[解决办法]
Private Sub mnuTrayexit_Click()

Call Form_Unload(0) ' 不管出于什么目的,这种做法是错误的。Form_UnLoad 会在窗体卸载动作发生时调用,但并不表示你调用了Form_UnLoad就会卸载窗体。

Unload Me

End Sub
[解决办法]
先退出消息循环
Unhook '退出消息循环
Unload Me '卸载窗体

Public Sub Unhook()

'将程序从消息环退出。用原窗口的指针替换WindowProc函数的指针,即关闭子类、退出消息循环

Dim temp As Long

temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)

End Sub

[解决办法]
API 调用不完整,或API调用的方法或参数错误

热点排行