什么可以呀?能详细说说吗?比如有一DLL名为ObjdllObjdll有一类为APP,类中有方法CreaInstance 用于打开窗体在主程序中一菜单的代码如下:
Private Sub mnu_Click()        Set objApp = New ObjDll.cApp
        With objApp 
            Set .MDIForm = Me
            .CreaInstance 
        End With
end sub这时,我每点击菜单就打开了一个窗体。
 我的想法是,能不能在一次打开窗体的操作中,当操作完成就释放objApp对象。然后,在用户重复点击菜单项时,避免打开多个窗体。

解决方案 »

  1.   

    知道呀,窗体关闭时操作就完成了。但窗体的关闭操作是在DLL中进行的,如何通知主程序来释放对象呢?
      

  2.   

    类模块可以定义事件的Dim WithEvents obj As New XXX用类生成器添加事件,然后用RaiseEvent 触发事件
    主程序可以接收此事件
      

  3.   

    我有一个类似的程序,可以mail给你[email protected]
      

  4.   

    to antshome(星星我来了):
       你好,你的方法我试过了,好象不行。我在主程序中定义如下
    Private WithEvents objAPP As DictAuto.cAppPrivate Sub objAPP_Over()
       Set objApp=Nothingend Sub
    DLL中定义事件   Event Over()DLL中有一过程用于关闭窗口如:
            Unload frmMain
            RaiseEvent Over
    但主程序不响应。To csdncb(csdncai) :
       你好, 或 [email protected] ,谢谢!
      

  5.   

    一般都是用
    set Obja=Nothing
    来释放的
      

  6.   

    你必须在你的dll文件中写窗体关闭后释放对想这个操作!
    就相当于c++中的失够函数
      

  7.   

    to antshome(星星我来了) :
      我的问题解决了,你的思路对我帮助很大,谢谢了!