我用EXE  调用DLL1(包含数据模板)用如下方法:  
TMyProc=procedure(AHandle:  THandle;ARect:TRect;APopedom:Integer);Stdcall;  
 procedure  ShowDllForm(AProc:TMyProc;AProcname,ADllName:String);  
 begin  
   MyHandle:=LoadLibrary(PChar(ADllName);  
   try  
       if  MyHandle  <>  0  then                                      
           @AProc:=GetProcAddress(MyHandle,PChar(AProcname));  
           if  not  (@AProc  =  nil)  then  
           begin  
               AProc(0,MyRect,MyPopedom);            
           end  else  
               RaiseLastOsError;  
   finally  
       FreeLibrary(MyHandle);  
   end;  
end;  
系统运行正常,可是我想用EXE调用DLL1,然后通过DLL1调用DLL2(包含数据模板)时,系统提示错误!哪位大侠可以帮我啊?  
 
DLL1  调用部分  
TIniProc=procedure;Stdcall;    //创建、释放数据模板  
procedure  TfrmSysMain.FormCreate(Sender:  TObject);  
var  
   IniDmUserMg:TIniProc;  
begin  
   ShowDllIni(IniDmUserMg,'IniDmUserMg','SysUserMg.dll');      
end;  
 
procedure  TfrmSysMain.FormClose(Sender:  TObject;  var  Action:  TCloseAction);  
var  
   FreeDmUserMg:TIniProc;  
begin  
   ShowDllIni(FreeDmUserMg,'FreeDmUserMg','SysUserMg.dll');      
end;  
 
procedure  TfrmSysMain.Button6Click(Sender:  TObject);  
var  
   ShowEmployeeMg:TMyProc;  
begin  
   ShowDllForm(ShowEmployeeMg,'ShowEmployeeMg','SysUserMg.dll');  
end;  
 
DLL2  的部分  
procedure  ShowEmployeeMg(AHandle:  THandle;ARect:TRect;APopedom:integer);stdcall;  
begin  
   Application.Handle:=AHandle;  
   if  frmEmployeeMg=nil  then  
   frmEmployeeMg:=TfrmEmployeeMg.Create(Application);  
   try  
       frmEmployeeMg.BoundsRect:=ARect;  
       frmEmployeeMg.popedom:=APopedom;  
       frmEmployeeMg.ShowModal;  
   finally  
       frmEmployeeMg.free;  
   end;  
end;  
 
procedure  IniDmUserMg;  
begin  
   Application.CreateForm(TdmUserMg,dmUserMg);//创建数据模板  
end;  
 
procedure  FreeDmUserMg;  
begin  
   dmUserMg.Free;  //释放数据模板  
end;