在dll窗体中,在弹出对话框后关闭dll窗口,第一次关闭正常,再次调用dll窗体时,弹出对话框后关闭dll窗口,应用程序也关闭了,请问这是为什么;DLL中:Procedure ShowForm(Apphandle:Thandle);stdcall;
Begin
  Application.handle :=Apphandle;
  With TForm1.create(application) do
  try
    showmodal;
  Finally
    free;  End;End;  procedure TForm1.Temp(i,j:integer)
Begin 
  IF I >J THen
  Begin
   Application.MessageBox('出错',' 错误',mb_iconinformation or mb_ok);
   Application.Terminate  ;//注:可以关闭DLL窗体,但第二次就连应用程序也关了
    Form1.Close; //注:用它关闭,DLL窗口不能关闭,没反应;
  End;
End;

解决方案 »

  1.   

    Allication.Terminate本身就是关闭应用程序的呀
      

  2.   

    Application.Terminate  ;//这个就不说了,本身就是关闭应用程序Form1.Close; //这里翻了一个错误,把对象和类搞混了
    //不能写Form1,要么不写,要么写Self
      

  3.   

    procedure TForm1.Temp(i,j:integer)
    Begin 
      IF I >J THen
      Begin
       Application.MessageBox('出错',' 错误',mb_iconinformation or mb_ok);
       //Application.Terminate; 如果I > J,那么应用程序先关掉了,下一句根本就没有执行
        Form1.Close; //注:用它关闭,DLL窗口不能关闭,没反应;
      End;
    End;
      

  4.   

    Application.Terminate;
    這句就有問題!