fabiorov Posted September 10, 2017 Posted September 10, 2017 Hi Everybody I have a project in 'desktop' mode, and I don't want to create a new one, copy/paste forms to convert it to ''service'. Is there a simpler way to perform this conversion? I am using 'uniGUI Personal Edition' Quote
Sherzod Posted September 11, 2017 Posted September 11, 2017 Hi, "If you want to convert a standard uniGUI app to service app, the best way is to create a new Service app and then moving all forms and modules from old app to the new app." Best regards, 1 Quote
rgreat Posted September 12, 2017 Posted September 12, 2017 You can edit your project dpr file using this template and have all 3 modes in one project simultaneously: // Use one of 3 defines below to choose compile mode: //{$DEFINE UNIGUI_VCL} // Stand Alone Application. //{$DEFINE UNIGUI_SERVICE} // Windows Service Application. //{$DEFINE UNIGUI_ISAPI} // ISAPI Library. {$IFDEF UNIGUI_SERVICE} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_VCL} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_ISAPI} {$EXTENSION dll} library {$ENDIF} MyProgram; // Your project name. uses {$IFDEF UNIGUI_SERVICE} SvcMgr, {$ENDIF} {$IFDEF UNIGUI_VCL} Forms, {$ENDIF} {$IFDEF UNIGUI_ISAPI} uniGUIISAPI, {$ENDIF} ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule}, MainModule in 'MainModule.pas' {UniMainModule: TUniGUIMainModule}, ServiceModule in 'ServiceModule.pas' {MyServiceClass: TUniGUIService}, // Grab this one from a new project. // Add your custom units here. {$R *.res} {$IFDEF UNIGUI_ISAPI} exports GetExtensionVersion, HttpExtensionProc, TerminateExtension; {$ENDIF} begin {$IFDEF UNIGUI_SERVICE} if not Application.DelayInitialize or Application.Installing then Application.Initialize; Application.CreateForm(TMyServiceClass, MyServiceClass); // Get from your service module. Application.Run; {$ENDIF} {$IFDEF UNIGUI_VCL} ReportMemoryLeaksOnShutdown:=True; // Optional. Application.Initialize; TUniServerModule.Create(Application); Application.Run; {$ENDIF} end. 2 1 4 Quote
alesf76 Posted January 1, 2018 Posted January 1, 2018 You can edit your project dpr file using this template and have all 3 modes in one project simultaneously: // Use one of 3 defines below to choose compile mode: //{$DEFINE UNIGUI_VCL} // Stand Alone Application. //{$DEFINE UNIGUI_SERVICE} // Windows Service Application. //{$DEFINE UNIGUI_ISAPI} // ISAPI Library. {$IFDEF UNIGUI_SERVICE} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_VCL} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_ISAPI} {$EXTENSION dll} library {$ENDIF} MyProgram; // Your project name. uses {$IFDEF UNIGUI_SERVICE} SvcMgr, {$ENDIF} {$IFDEF UNIGUI_VCL} Forms, {$ENDIF} {$IFDEF UNIGUI_ISAPI} uniGUIISAPI, {$ENDIF} ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule}, MainModule in 'MainModule.pas' {UniMainModule: TUniGUIMainModule}, ServiceModule in 'ServiceModule.pas' {MyServiceClass: TUniGUIService}, // Grab this one from a new project. // Add your custom units here. {$R *.res} {$IFDEF UNIGUI_ISAPI} exports GetExtensionVersion, HttpExtensionProc, TerminateExtension; {$ENDIF} begin {$IFDEF UNIGUI_SERVICE} if not Application.DelayInitialize or Application.Installing then Application.Initialize; Application.CreateForm(TMyServiceClass, MyServiceClass); // Get from your service module. Application.Run; {$ENDIF} {$IFDEF UNIGUI_VCL} ReportMemoryLeaksOnShutdown:=True; // Optional. Application.Initialize; TUniServerModule.Create(Application); Application.Run; {$ENDIF} end. It works perfectly! Thanks. Quote
fabiorov Posted January 2, 2018 Author Posted January 2, 2018 Thanks for the info. Anyway, I fixed the problem by other mean .... I use the software "AlwaysUp" (https://www.coretechnologies.com/products/AlwaysUp/) to keep running a Java application, and I'm also using it for unigui App, so I can build the app as a normal application and run it as a service. Best Regards. 1 1 Quote
MR-Irawan Posted November 10, 2021 Posted November 10, 2021 On 9/12/2017 at 8:59 AM, rgreat said: You can edit your project dpr file using this template and have all 3 modes in one project simultaneously: // Use one of 3 defines below to choose compile mode: //{$DEFINE UNIGUI_VCL} // Stand Alone Application. //{$DEFINE UNIGUI_SERVICE} // Windows Service Application. //{$DEFINE UNIGUI_ISAPI} // ISAPI Library. {$IFDEF UNIGUI_SERVICE} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_VCL} {$EXTENSION exe} program {$ENDIF} {$IFDEF UNIGUI_ISAPI} {$EXTENSION dll} library {$ENDIF} MyProgram; // Your project name. uses {$IFDEF UNIGUI_SERVICE} SvcMgr, {$ENDIF} {$IFDEF UNIGUI_VCL} Forms, {$ENDIF} {$IFDEF UNIGUI_ISAPI} uniGUIISAPI, {$ENDIF} ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule}, MainModule in 'MainModule.pas' {UniMainModule: TUniGUIMainModule}, ServiceModule in 'ServiceModule.pas' {MyServiceClass: TUniGUIService}, // Grab this one from a new project. // Add your custom units here. {$R *.res} {$IFDEF UNIGUI_ISAPI} exports GetExtensionVersion, HttpExtensionProc, TerminateExtension; {$ENDIF} begin {$IFDEF UNIGUI_SERVICE} if not Application.DelayInitialize or Application.Installing then Application.Initialize; Application.CreateForm(TMyServiceClass, MyServiceClass); // Get from your service module. Application.Run; {$ENDIF} {$IFDEF UNIGUI_VCL} ReportMemoryLeaksOnShutdown:=True; // Optional. Application.Initialize; TUniServerModule.Create(Application); Application.Run; {$ENDIF} end. Thanks Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.