主程序框架exe+子模块dll,dll共享exe的数据窗口中的adoconnection和公用函数。该如何处理

主程序框架exe+子模块dll,dll共享exe的数据窗口中的adoconnection和公用函数。主程序框架exe+子模块dll,dll

主程序框架exe+子模块dll,dll共享exe的数据窗口中的adoconnection和公用函数。
主程序框架exe+子模块dll,dll共享exe的数据窗口中的adoconnection和公用函数。
dll的出口函数:   MainDllForm(DM:TGlobalData,hd:Thandle);主程序中的数据窗口类TGlobalData,我在dll中也申明了。Var   aDM:TGlobalData;然后我dll中这样写的,大家看看问题在哪里。
procedure   MainDllForm(DM:TGDataFrm;hd:Thandle);
begin
        try
              application.Handle:=hd;
              Form1:=TForm1.Create(application);
              aDM:=DM;
              Form1.DataSource1.DataSet:=aDM.ADOQuery1;
              Form1.ShowModal;
        finally
              Freeandnil(Form1);
        end;
但是aDM不能直接拿去用,一用就报错。
end;

[解决办法]
http://www.2ccc.com/article.asp?articleid=4043
这里有个例子