我用vb设计了一个界面。关掉整个VB6的时候,会弹出对话框报错。报错的对话框caption及内容如下:
     
      vb6.exe  -应用程序错误
               "Ox01352607"指令引用的"Ox01352607"内存。该内存不能为"read".
               要终止程序,请单击“确定”.
请大家帮我想个解决的办法啊(我仅仅只设计了个界面,没写什么代码。另外,我在界面上使用了改变菜单效果的第三方控件 VsNetMenu.ocx)

解决方案 »

  1.   

    你用的是 End 结束程序吗?
    如果是的话,你改用 Unload 方法一个一个卸载窗口的话,就没问题了。
      

  2.   

    我用的是unload还有一个问题是:end和unload有什么区别啊?
      

  3.   

    unload 好像不关闭con rs   还有进程
    end 全部关闭了上面所说得
      

  4.   

    这个就不一定是关闭进程的问题这样的错误一般是VB环境崩溃了,谁叫你用D版:D今天上午蹦了10次,全部在recordset关闭的地方,把电脑重启下就木问题了MS很不负责的用了多个版本DLL重复替换经常有这样的问题发生,没办法
      

  5.   

    谢谢莫大侠了。
    这个问题是我目前做的课程设计时遇见的。
    我用vb做其他的东西,vb关了不会报错。我就这个问题问了我们老师,他说可能是由于我的用的vsnetmenu.ocx在窗体卸载时还占据内存引起的,然后他在窗体的unload事件里面加了set vsnetmenu=nothing,好象程序还报其他的错。百思不得其解中...我是个新手,星期五要就目前做的东西答辩,求大家帮我想想办法好吗?
      

  6.   

    更新一下退出代码试试:
    Private Sub cmdQuit_Click()
        Dim i As Integer
        
        For i = Forms.Count - 1 To 0 Step -1
            Unload Forms(i)
        Next i
    End Sub大部分情况下,是由于个别窗体没有卸载,从而导致该错误提示!这跟是否D版没有关系,D版只是一个法律概念!
      

  7.   

    如果还是不行,可以采用另外两种方式:
    第一种:
    Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
    Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As LongPrivate Sub Form_Unload()    
        '在vb环境里面运行时,请注释掉如下代码,因为它同时还会关闭vb。
        ExitProcess GetExitCodeProcess(GetCurrentProcess, 0)
    End Sub
    你还可以使用
    TerminateProcess GetCurrentProcess, 0来结束程序的运行,关于TerminateProcess的声明,请查看api浏览器。第二种:使用PostMessage发送关闭消息,你可以在网上搜到很多关于该函数的例子,这里就不提供了!
      

  8.   

    操作后没有释放对象造成,你试试直接生成EXE不要在sdi的环境下运行.
      

  9.   

    回复人: daisy8675(莫依) ( ) 信誉:136  2005-3-30 18:50:47  得分: 0  
     
     
       
    这个就不一定是关闭进程的问题这样的错误一般是VB环境崩溃了,谁叫你用D版:D今天上午蹦了10次,全部在recordset关闭的地方,把电脑重启下就木问题了MS很不负责的用了多个版本DLL重复替换经常有这样的问题发生,没办法  
     
    我这些不知名的小人物,用的起正版的吗???
    老大是有钱人吧!