1。主程序做成MDI窗体,所有其他子模块都以DLL的形式,子模块的窗体都是MDI子窗体,
都放在DLL里(不同模块不同DLL),子窗体中有DBGrid,还有很多东西,如何用菜单或其他控制这个子窗体,
其中菜的是否有效跟子窗体有关,如:菜单中有保存,就要看数据是否不是在浏览状
态?
2。按照论坛中有人的答案:
            Dll中的函数如下:
                procedure PChild(ParentApplication: TApplication);
                 begin
                    Application := ParentApplication;
                    Form1 := TForm1.Create(Application);
                    Form1.Show;
                 end;
             //
      为何到主窗体中用
      ShowMessage(inttostr(Application.MainForm.MDIChildCount));//在主调程序中
      得到都为0;
    而在Form1.Show;之前用
      ShowMessage(inttostr(Application.MainForm.MDIChildCount));//在DLL中
    就会得到正确答案?
3.最好有个例程发到Email:[email protected]

解决方案 »

  1.   

    你在论坛里仔细搜索相关问题了吗?
    这种问题是很成熟的(除了在dll里showhint)从主创体传递给dll的参数要有:
    主程序的Appliction和Screen具体方法可以给你Demo
      

  2.   

    To:
       murphy(豆豆)真的很感谢你了/我问之前都有Search了,你的Demo我也看了,比我写的好一点,可以找出当前击活的子窗体。
       不过跟我的想法还有区别:我是说用主窗体来控制子窗体。就是你的例子中的DLL中的FrmChild001的ToolBar1或FrmChild002中的ToolBar1能够放到FrmMain
    中就符合我的要求了。我是用SideBar在主窗体中控制子窗体的事件操作的。
       就是这样,如果实现,所有的分我都给你了,包括DFW上的,DFW上你也叫
    murphy(豆豆)吗?