Ciao Alka,
non mi intendo fino al punto di poterti rispondere alla domanda sul framework. Ho seguito l'esempio del Cookbook di Daniele Teti per creare un servizio con GUI opzionale, utile per la configurazione del servizio. Il WorkerThread può così essere lanciato sia dal Windows Service sia dall'app.
ServerU.pas:
procedure TMySvc.ServiceStart(Sender: TService; var Started: Boolean);
begin
GlobalU.ReadConfigINI;
FWorkerThread := TWorkerThread.Create(True);
FWorkerThread.Start;
Started := True;
end;
WorkerThreadU.pas:
procedure TWorkerThread.Execute;
begin
try
FPaused := False;
ExePath := TPath.GetDirectoryName(GetModuleName(HInstance));
LogFileName := TPath.Combine(ExePath, ClassName + '_' + IntToStr(CurrentThread.ThreadID) + '.txt');
Log := TStreamWriter.Create(TFileStream.Create(LogFileName, fmCreate or fmShareDenyWrite));
try
Log.WriteLine(TimeToStr(now) + 'Server started');
...
end;
Ale