Delphi 控制台应用程序中TForm1.FormCreate()和TForm1.FormCloseQuery()的等效项是什么?

Delphi 控制台应用程序中TForm1.FormCreate()和TForm1.FormCloseQuery()的等效项是什么?,delphi,Delphi,我正在尝试将我的应用程序转换为本机控制台应用程序,但在转换之前,我需要知道在用户关闭程序时在何处初始化代码和放置清理代码(CTRL+C)。示例代码 procedure TForm1.FormCreate(Sender: TObject); begin InitializeCriticalSection(CriticalSection1); DecimalSeparator:='.'; programdir:=ExtractFileDir(application.ExeName

我正在尝试将我的应用程序转换为本机控制台应用程序,但在转换之前,我需要知道在用户关闭程序时在何处初始化代码和放置清理代码(CTRL+C)。示例代码

procedure TForm1.FormCreate(Sender: TObject);
begin

   InitializeCriticalSection(CriticalSection1);
   DecimalSeparator:='.';
   programdir:=ExtractFileDir(application.ExeName);

   if ParamCount>1 then
   begin
     InputFile:=ParamStr(1);
     OutputFile:=ParamStr(2);
   end;

end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin

  if ProccesSupervisor<>nil then
  begin
    ProccesSupervisor.Terminate;
    ProccesSupervisor.WaitFor;
    ProccesSupervisor.Free;
  end;

  DeleteCriticalSection(CriticalSection1);

end;
过程TForm1.FormCreate(发送方:TObject);
开始
初始化临界截面(临界截面1);
小数分隔符:='';
programdir:=ExtractFileDir(application.ExeName);
如果ParamCount>1,则
开始
InputFile:=ParamStr(1);
OutputFile:=ParamStr(2);
结束;
结束;
过程TForm1.FormCloseQuery(发送方:ToObject;变量CanClose:Boolean);
开始
如果是程序主管,则
开始
进程管理员。终止;
processupervisor.WaitFor;
程序管理员。免费;
结束;
删除关键部分(关键部分1);
结束;

出于多种目的,您可以使用主模块和辅助模块的部分

要处理Ctrl-C,必须设置例程()


请注意,Windows应用程序提供的一些可能性在控制台应用程序中不可用,要获得其他一些可能性,您应该“手动”组织它们(例如,OLE初始化、消息循环等)

出于许多目的,您可以使用主模块和辅助模块的部分

要处理Ctrl-C,必须设置例程()


请注意,Windows应用程序提供的一些可能性在控制台应用程序中不可用,要获得其他一些可能性,您应该“手动”组织它们(例如-OLE初始化、消息循环等)

它们在控制台应用程序中不存在。您需要一个带有CheckSynchronize()的循环,并检查键盘输入。为什么需要清理?Why kit让系统终止您的进程。它们不存在于控制台应用程序中。您需要一个带有CheckSynchronize()的循环,并检查键盘输入。为什么需要清理?为什么kit让系统终止您的进程。不。终结不会使用ctrl+cNope运行。不能使用ctrl+c运行终结