用vb开发了一个软件,该软件调用Mapinfo最为平台,结合视频捕捉功能。编译成可执行文件后,运行该文件后关闭,发现这个可执行文件占用的内存没释放掉。三四次的打开和关闭该文件后出现系统内存资源不足。但我已经在关闭此exe时做了以下处理:Public Sub Form_Unload(Cancel As Integer) MMControl1.Command = "stop" //avi文件播放
MapInfo.Do "Close All" //关闭MapInfo
If hCapWnd <> 0 Then Call DestroyWindow(hCapWnd) // '消灭视频摄取时留下的窗体
CloseMapInfoConnection //断开和MapInfo的连接End Sub 结果还是没能搞定,请问有没什么办法,现在就只剩下这问题了,解决后整个系统就OK了。哪位朋友能帮我解决呀,本人将不胜感激。
请问能不能在程序中,当关闭该可执行文件时用几行代码就可以释放程序所占有的资源
在线等待......
MapInfo.Do "Close All" //关闭MapInfo
If hCapWnd <> 0 Then Call DestroyWindow(hCapWnd) // '消灭视频摄取时留下的窗体
CloseMapInfoConnection //断开和MapInfo的连接End Sub 结果还是没能搞定,请问有没什么办法,现在就只剩下这问题了,解决后整个系统就OK了。哪位朋友能帮我解决呀,本人将不胜感激。
请问能不能在程序中,当关闭该可执行文件时用几行代码就可以释放程序所占有的资源
在线等待......
Private Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As LongPrivate Declare Function TerminateThread Lib "kernel32" Alias "TerminateThread" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
释放了啊!
MapInfo.Do "Close All" //关闭MapInfo
CloseMapInfoConnection //断开和MapInfo的连接难道不是这样释放的吗?,请指教谢谢!
看看我的函数,从来没有你说的问题Function FindMap(ByVal MapNo1 As String, ByVal MapType As String) As Boolean
Dim MapPath As String
Dim IsExits As String
'创建Mapinfo对象
Screen.MousePointer = 11
Dim Mapinfo As Object
IsExits = "T"
On Error GoTo errhandle
Set Mapinfo = CreateObject("MapInfo.Application") If Trim(MapType) = "500" Then
Mapinfo.Do "Open Table """ & Map_Path4 & "L2000.TAB"" as Map2000SM ReadOnly"
Mapinfo.Do "Select * from Map2000SM where 图号 = """ + Trim(MapNo1) + """ and 入库否=""" + IsExits + """ into Selection"
If Mapinfo.Eval("SelectionInfo(3)") = 0 Then
FindMap = False
Else
FindMap = True
Mapinfo.Do "Close all"
Screen.MousePointer = vbNormal
Exit Function
End If
End If
Mapinfo.Do "Close all"
Set Mapinfo = Nothing
Screen.MousePointer = vbNormal
Exit Function
errhandle:
Screen.MousePointer = vbNormal
FindMap = False
Exit Function
End Function