我在调试一个程序时经常碰到一个问题,就是出现类似于
Fatal Error: Could not create output file 'C:\Program Files\Borland\Delphi7\Projects\abc.exe’
的错误,后来用ctrl+alt+delete检查进程,发现有abc.exe还在运行,而程序abc.exe已结束。因经常如此,所以问问什么原因。

解决方案 »

  1.   

    那也得看你的abc运行后都干了什么,和它退出时是否少干了什么
      

  2.   

    我的程序是画图,结束就用点击右上角的退出按钮来实现,我中程序中加了close语句。
      

  3.   

    Application.Terminate; 
    或者用 Halt(0);
    不过,从你描述的来看,应该是你的窗体已经被Free了,但是进程没有结束。一般象这样的情况,是关闭的窗体,不是程序的主窗体。用ShowMessage(Application.MainForm.ClassName) ,查看下主窗体是哪个类就知道了。此代码勿放在FormCreate过程中。
      

  4.   

    unearth讲得对,我在MainForm中画图,这是主要的,但在此前用一个form0来作程序封面,form0一闪而过,什么事情也不做,就进入form1,退出按钮在form1上,这样就把form0当mainform了。我把form0也close后就好了。
      

  5.   

    你可以按如下流程去创建 程序启动的Splash。
    //主菜单 Project>>View Source
    //TAboutBox 中 需要包含一个可以自动关闭的窗体的操作。如计时器,循环满足一定条件后关闭等等program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      ABOUT in 'ABOUT.pas' {AboutBox};{$R *.res}begin
      ReportMemoryLeaksOnShutdown := DebugHook <> 0;  //内存泄露侦测
      Application.Initialize;
      Application.MainFormOnTaskbar := True;  //创建Splash
      Application.CreateForm(TAboutBox, AboutBox);
      AboutBox.ShowModal;
      AboutBox.Free;  //创建主窗体
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.