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