可以的话,应该如何调用,谢谢

解决方案 »

  1.   

    一般而论不可以,如果你有DLL代码,那把它们放在一个工程中可以.
      

  2.   

    DLL和程序是在同一个工程里的。那应该怎么调用呢
      

  3.   

    如果dll想调用窗口,哪么,你可以传给dll一个窗口句柄(当然,DLL中必须有处理窗口句柄的函数),至于窗口的句柄是主程序里的,还是其它地方的,哪还不是你决定吗?
      

  4.   

    ActiveX DLL中调用主程序中窗体Form1的方法: 在DLL类模块中编写一个全局函数即可:Public Function CallForm(MyForm as Variant,chenjl1031 as boolean) 
           MyForm.visible=chenjl1031 
    end function         在你的EXE主程序中只要:Call CallForm(Form1,true)即可显示Form1窗体。
      

  5.   

    Private frmMain As Form
    Public Property Get SetFrmmain() As Form
        Set SetFrmmain = frmMain
    End PropertyPublic Property Let SetFrmmain(ByVal myForm As Form)
        Set frmMain = myForm
    End Property
    Sub main()
        SetFrmmain = Form1
        frmMain.Show
    End Sub这是一个简单的调用例子
    通过这中方法就可以实现
      

  6.   

    上面的办法都不行啊我说的是我有个窗体已经在DLL中了,现在我在这个窗体里打开主程序的窗体,不是在主程序窗体里打开主程序或是DLL的窗体,没那么简单
      

  7.   

    不能,窗体全部是工程内的私有类,跨工程无法直接操作。
    可以在Exe中建一个辅助类,将该类的实例传递给dll中的窗体,通过调用该对象的方法间接打开exe中的窗体。