过去,我使用该框架为 Delphi 编写了许多服务。我现在想用一些类似控制台的功能来扩展服务。
我可以提供的最简单的示例是,我想在命令提示符下运行类似以下内容的服务可执行文件。
> myservice.exe /version
MyService Version 1.0
在项目文件中,我将在服务初始化之前处理参数并退出并完成。
If ParamStr(1) = '/version' then
begin
writeln ('MyService Version 1.0');
exit;
end;
// Other standard service launch code is after this for proper initialization
// when run as a service, i.e.
if not Application.DelayInitialize or Application Installing then
...
但是,要使writeln
声明生效,通常我需要{$APPTYPE CONSOLE}
项目文件中的指令,然后中断服务应用程序 Destroy 事件。
{$APPTYPE CONSOLE}
是否有另一种方法可以在不使用Delphi Windows 服务应用程序的指令的情况下将标准输出连接到控制台?