我用VB写的这样的程序中包含: 一个MDIFORM,几个form,三张datareport. 错误是这样的:我在关闭MDIFORM时,datareport必需是关闭的,如果datareport打开着,那么关闭MDIFORM就会进入一个死循环,不断的一遍遍关闭我所有的form和datareport,而mdiform 却并不关闭. 而且,在mdiform_unload中写如下代码:private sub MDIFORM_unload () 
 end  
end sub 
也是一样不能关闭,进入一个关闭死循环.
请问要如何处理这个错误? 

解决方案 »

  1.   

    首先回答你为什么无法关闭的问题:
    请到http://community.csdn.net/Expert/topic/4568/4568969.xml?temp=.8597834
    看看我对他的问题的回答,
    然后针对你的问题,应该这样解决:每个子窗体都有一个QueryUnload事件,类似于:
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    End Sub
    你只需要判断那个UnloadMode的值如果为4(即:vbFormMDIForm)的时候就关闭DataReport
    这样你就可以整体关闭程序了,如果还有问题存在,请继续留言,或发送你的程序段到)