Open CastleSoft opened 5 years ago
Yes, it is in the plans. However, we would to make the wizard a bit more general (eg. should be able to generate json-rpc projects too). We are looking for contribtors here.
Cool.. If I get any free time, I'll see what I can submit..
Currently when you create a "DelphiMVCFramework Project" the Project Wizard displays:
Would it be possible to add a Radio Group like the uniGUI one ? (see below):
Offering "Standalone Server", "Windows Service App", "Standalone Server / ISAPI Module" and "ISAPI Module" as shown above ??
My thoughts on the "Standalone Server / ISAPI Module" are it would generate code like:
` {$define DMVC_ISAPI} // Comment out this line to turn this project into an STANDALONE CONSOLE
{$ifndef DMVC_ISAPI} program Project1; {$APPTYPE CONSOLE} {$else} library; {$endif}
uses {$ifndef DMVC_ISAPI} System.SysUtils, MVCFramework.Logger, MVCFramework.Commons, MVCFramework.REPLCommandsHandlerU, Web.ReqMulti, Web.WebReq, Web.WebBroker, IdHTTPWebBrokerBridge, {$else} Winapi.ActiveX, System.Win.ComObj, System.SysUtils, MVCFramework.Logger, MVCFramework.Commons, MVCFramework.REPLCommandsHandlerU, Web.ReqMulti, Web.WebReq, Web.WebBroker, Web.Win.ISAPIApp, Web.Win.ISAPIThreadPool, IdHTTPWebBrokerBridge, {$endif} Unit1 in 'Unit1.pas', Unit2 in 'Unit2.pas' {BlogWebModule: TWebModule};
{$ifndef DMVC_ISAPI} {$R *.res}
{$else} exports GetExtensionVersion, HttpExtensionProc, TerminateExtension; {$endif} begin {$ifndef DMVC_ISAPI} ReportMemoryLeaksOnShutdown := True; IsMultiThread := True; try if WebRequestHandler <> nil then WebRequestHandler.WebModuleClass := WebModuleClass; WebRequestHandlerProc.MaxConnections := 1024; RunServer(8080); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; {$else} CoInitFlags := COINIT_MULTITHREADED; Application.Initialize; Application.WebModuleClass := WebModuleClass; Application.Run; {$endif} end.
`
Allowing a single project to be tested / run as Standalone.
Then simply comment the top line, change the extension to DLL and deploy for ISAPI.
Thanks Andrew