Tout à fait possible. L'astuce consiste à modifier la .rmr de créer des formulaire principal lorsque vous souhaitez exécuter dans une application et le service à la forme à laquelle vous souhaitez exécuter en tant que service. Comme ceci:
if SvComFindCommand('config') then begin
//When run with the /config switch, display the configuration dialog.
Forms.Application.Initialize;
Forms.Application.CreateForm(TfrmConfig, frmConfig);
Forms.Application.Run;
end
else begin
SvCom_NTService.Application.Initialize;
SvCom_NTService.Application.CreateForm(TscmServiceSvc, scmServiceSvc);
SvCom_NTService.Application.Run;
end;
Le code ci-dessus utilise SvCom pour exécuter le service, mais exactement le même effet peut être obtenu en utilisant la norme TService.
J'ai écrit un article à ce sujet pour Le Delphi Magazine il y a plusieurs années. Vous pouvez le lire ici: de Nombreux Visages D'Une Application.