单独的程序没问题:
      比如我单独做一个MDI程序 主窗口为MAINFORM(类型MDIFORM)  调用第二个窗口CHILDFORM1(类型      MDICHILD)
      如果我在CHILDFORM1上调用第三个窗口CHILDFORM2(类型是NORMAL) 用的是如下的方法         VAR
        CHILDFORM2:TCHILDFORM2;
      BEGIN
        CHILDFORM2:=TCHILDFORM2.CREAT(SELF);
        CHILDFORM2.SHOWMODAL;   //这样用摸态的  可以没问题
      END; 改成DLL程序有问题
      但现在的问题是 如果我把上面的设置都不变  而把第二个窗口和第三个窗口都写在一个DLL中 就不行了
      代码都没变  问题出现在创建第三个窗口以MODAL显现时我在调用DLL的时候已经写了如下的代码
    procedure DLLEntryPoint(dwReason: DWORD);
begin
  case dwReason of
    DLL_PROCESS_ATTACH:
    begin
      DLLScr := Screen;
      DLLApp := Application;
    end;
    DLL_PROCESS_DETACH:
    begin
      Screen := DllScr;
      Application := DllApp;
    end;
  end;
end;
begin
  DLLProc := @DLLEntryPoint;         //Assign the address of DLLEntryPoint to DLLProc
  DLLEntryPoint(DLL_PROCESS_ATTACH); //Indicate that the DLL is attaching to the process
end.