Я создаю приложение службы Windows, которое имеет конфигурацию для компиляции его в качестве основного приложения Windows.Основной файл проекта для exe включает в себя условия, которые определяют, компилируется ли проект как приложение-служба или как приложение Windows Forms.
Проблема в том, что когда я делаю что-то, что вызывает изменение кода проекта,код разрушается и нарушается.Например, строка с надписью Application.Initialize;
становится AppliApplication.Initialize;
, а строка с {$R *.RES}
обрезается до S}
, и большинство моих условных выражений удаляются.
Мне интересно, есть лиэто способ преодолеть эту проблему, если есть какие-то уловки, или если мне просто нужно улыбаться и терпеть это?
Вот файл ниже, как я хотел бы, чтобы он остался ...
program JDRMServer;
uses
{$IFDEF TESTAPP}
FastMM4,
Vcl.Forms,
{$ELSE}
Vcl.SvcMgr,
{$ENDIF TESTAPP}
uJDRMServer in 'uJDRMServer.pas' {JDRMSvr: TService},
uJDRMSessions in 'uJDRMSessions.pas',
uJDRMSvrCli in 'uJDRMSvrCli.pas',
uJDRMSvrDsh in 'uJDRMSvrDsh.pas',
JDDB in 'JDDB.pas',
uJDRMServerTEST in 'uJDRMServerTEST.pas' {JDRMSvrTest},
uJDRMServerThread in 'uJDRMServerThread.pas',
uJDRMSvrMessages in 'uJDRMSvrMessages.pas';
{$R *.RES}
begin
{$IFDEF TESTAPP}
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TJDRMSvrTest, JDRMSvrTest);
{$ELSE}
if (not Application.DelayInitialize) or (Application.Installing) then
Application.Initialize;
Application.CreateForm(TJDRMSvr, JDRMSvr);
{$ENDIF TESTAPP}
Application.Run;
end.