Tarea #756 resuelta -> Poder lanzar el servidor como servicio

git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@28 93f398dd-4eb6-7a46-baf6-13f46f578da2
This commit is contained in:
David Arranz 2012-01-16 18:05:57 +00:00
parent 6713e49a1f
commit 962cf41e08
5 changed files with 36 additions and 20 deletions

View File

@ -1,9 +1,9 @@
program FactuGES_Server; program FactuGES_Server;
{#ROGEN:..\Servicios\FactuGES.rodl} // RemObjects: Careful, do not remove! {#ROGEN:..\Servicios\FactuGES.rodl} // RemObjects: Careful, do not remove!
uses uses
uROComInit, uROComInit,
uROComboService,
Forms, Forms,
uServerMainForm in 'uServerMainForm.pas' {fServerForm}, uServerMainForm in 'uServerMainForm.pas' {fServerForm},
uAcercaDe in 'uAcercaDe.pas' {fAcercaDe}, uAcercaDe in 'uAcercaDe.pas' {fAcercaDe},
@ -141,13 +141,27 @@ uses
{$R *.res} {$R *.res}
{$R ..\Servicios\RODLFile.res} {$R ..\Servicios\RODLFile.res}
const
FACTUGES_NAME = 'FactuGES Servidor';
begin begin
if ROStartService(FACTUGES_NAME, FACTUGES_NAME) then
begin
// Aqui hay que comprobar antes si el servicio ya est  en ejecucion
ROService.CreateForm(TdmServer, dmServer);
ROService.Run;
Exit;
end;
Application.Initialize; Application.Initialize;
//ReportMemoryLeaksOnShutdown := True; // // ReportMemoryLeaksOnShutdown := True;
Application.Title := 'FactuGES (Servidor)'; Application.Title := FACTUGES_NAME;
Application.ShowMainForm := False; Application.ShowMainForm := False;
Application.CreateForm(TdmServer, dmServer);
Application.CreateForm(TfServerForm, fServerForm); Application.CreateForm(TfServerForm, fServerForm);
Application.Run; Application.Run;
Application.Terminate; Application.Terminate;
end. end.

View File

@ -28,7 +28,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/> <Borland.ProjectType/>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">4</VersionInfo><VersionInfo Name="Release">7</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.4.7.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.4.7.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">martes, 27 de diciembre de 2011 15:54</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">4</VersionInfo><VersionInfo Name="Release">8</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.4.8.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.4.8.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 16 de enero de 2012 10:45</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages> <Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>

Binary file not shown.

View File

@ -6,7 +6,7 @@ uses
SysUtils, Classes, SyncObjs, uDAEngine, uDAIBXDriver, JvLogFile, uROSessions, SysUtils, Classes, SyncObjs, uDAEngine, uDAIBXDriver, JvLogFile, uROSessions,
JvComponentBase, JvAppStorage, JvAppRegistryStorage, uDAClasses, JvComponentBase, JvAppStorage, JvAppRegistryStorage, uDAClasses,
uDADriverManager, uROClient, uROBinMessage, uROServer, uROIndyTCPServer, uDADriverManager, uROClient, uROBinMessage, uROServer, uROIndyTCPServer,
uROIndyHTTPServer, uDAInterfaces; uROIndyHTTPServer, uDAInterfaces, uROComboService;
const const
SERVER_PORT = '8099'; // Puerto por defecto SERVER_PORT = '8099'; // Puerto por defecto
@ -294,7 +294,8 @@ begin
ConnectionName := ConnectionManager.GetDefaultConnectionName; ConnectionName := ConnectionManager.GetDefaultConnectionName;
ConnectionManager.Connections.GetDefaultConnection.ConnectionString := GetConnectionString; ConnectionManager.Connections.GetDefaultConnection.ConnectionString := GetConnectionString;
ShowBalloonHint('Conectado a ' + ConnectionName, bfInfo); if not ROIsService then
ShowBalloonHint('Conectado a ' + ConnectionName, bfInfo);
CoInitialize(nil); CoInitialize(nil);
HTTPServer.Active := TRUE; HTTPServer.Active := TRUE;

View File

@ -53,7 +53,7 @@ var
implementation implementation
uses uses
uDataModuleServer, uConfiguracion, uAcercaDe, uServerAppUtils; uDataModuleServer, uConfiguracion, uAcercaDe, uServerAppUtils, uROComboService;
{$R *.dfm} {$R *.dfm}
@ -83,21 +83,22 @@ procedure TfServerForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin begin
CanClose := False; CanClose := False;
with JvProgressDialog1 do if not ROIsService then
begin with JvProgressDialog1 do
InitValues(0, 100, 10, 0, 'Cerrar FactuGES Server', 'Espere mientras FactuGES Server se cierra...');
Show;
while dmServer.HTTPServer.Active do
begin begin
if (Position + Interval > Max) then InitValues(0, 100, 10, 0, 'Cerrar FactuGES Server', 'Espere mientras FactuGES Server se cierra...');
Position := Min Show;
else while dmServer.HTTPServer.Active do
Position := Position + Interval; begin
Refresh; if (Position + Interval > Max) then
dmServer.HTTPServer.Active := False; Position := Min
else
Position := Position + Interval;
Refresh;
dmServer.HTTPServer.Active := False;
end;
Hide;
end; end;
Hide;
end;
CanClose := True; CanClose := True;
end; end;