一个程序里面的两个窗体,窗体都有Adodc、DHTMLEDIT、TEXT、COMMAND控件,ADODC控件加载的数据不会太多调用的顺序:main() → 窗体A(运行后自动最小化到系统通知区,通过右键菜单显示窗体A和窗体B)当窗体A加载隐藏后,内存大概只占用了3、4M,打开窗体B后,内存占用到10M多,关闭后也没有不会变化(一个时间里只能开打开一个窗体)请问如何才能及时或定时释放占用的资源谢谢

解决方案 »

  1.   

    上面打错,不是DHTMLEDIT控件,而是webbrowser
      

  2.   

    webbrowser会占用很大的内存,而且会越来越大,所以在退出窗体前要销毁它(在UNLOAD里写),再销毁窗体退出,下次再加载
      

  3.   

    Private Declare Function SetProcessWorkingSetSize Lib "kernel32" (ByVal hProcess As Long, ByVal dwMinimumWorkingSetSize As Long, ByVal dwMaximumWorkingSetSize As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long在Load和Unload事件中添加一行:
    SetProcessWorkingSetSize GetCurrentProcess(), -1&, -1&
      

  4.   

    To youchenglong(小志)
     请问如何销毁,我在Unload里加入unload 控件或set 控件=nothing,但都提示错误To Modest(塞北雪貂 -- 偶最欣赏楼主的分)
     请问这个有什么作用另外一个问题,但内存达到十几M时,打开窗体A,然后再隐藏到系统通知区域,这里内存就会自动减至几M,这怎么回事
      

  5.   

    Private Declare Function SetProcessWorkingSetSize Lib "kernel32" (ByVal hProcess As Long, ByVal dwMinimumWorkingSetSize As Long, ByVal dwMaximumWorkingSetSize As Long) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long在Load和Unload事件中添加一行:
    Private Sub Form_Load()
    '你的代码,如果有的话。
    SetProcessWorkingSetSize GetCurrentProcess(), -1&, -1&
    End SubPrivate Sub Form_UnLoad()
    '你的代码,如果有的话。
    SetProcessWorkingSetSize GetCurrentProcess(), -1&, -1&
    End Sub