Copied remotely

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@59 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2007-10-22 09:51:12 +00:00
commit b100489361
54 changed files with 2105 additions and 3258 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -11,12 +11,12 @@ package ApplicationBase;
{$LOCALSYMBOLS ON} {$LOCALSYMBOLS ON}
{$LONGSTRINGS ON} {$LONGSTRINGS ON}
{$OPENSTRINGS ON} {$OPENSTRINGS ON}
{$OPTIMIZATION ON} {$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF} {$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF} {$RANGECHECKS OFF}
{$REFERENCEINFO ON} {$REFERENCEINFO ON}
{$SAFEDIVIDE OFF} {$SAFEDIVIDE OFF}
{$STACKFRAMES OFF} {$STACKFRAMES ON}
{$TYPEDADDRESS OFF} {$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON} {$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF} {$WRITEABLECONST OFF}
@ -31,6 +31,7 @@ requires
dbrtl, dbrtl,
Base, Base,
GUIBase, GUIBase,
PluginSDK_D10R,
pckUCDataConnector, pckUCDataConnector,
pckUserControl_RT, pckUserControl_RT,
JvJansD11R, JvJansD11R,
@ -55,7 +56,7 @@ requires
contains contains
uFactuGES_App in 'uFactuGES_App.pas', uFactuGES_App in 'uFactuGES_App.pas',
uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas', uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas',
uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas', uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas' {DataModuleUsuariosObj},
uUCROConn in 'Usuarios\Data\uUCROConn.pas', uUCROConn in 'Usuarios\Data\uUCROConn.pas',
uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas', uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas',
uBizEmpresasDatosBancarios in 'Empresas\Model\uBizEmpresasDatosBancarios.pas', uBizEmpresasDatosBancarios in 'Empresas\Model\uBizEmpresasDatosBancarios.pas',
@ -63,7 +64,7 @@ contains
schEmpresasServer_Intf in 'Empresas\Model\schEmpresasServer_Intf.pas', schEmpresasServer_Intf in 'Empresas\Model\schEmpresasServer_Intf.pas',
uBizEmpresas in 'Empresas\Model\uBizEmpresas.pas', uBizEmpresas in 'Empresas\Model\uBizEmpresas.pas',
uIDataModuleEmpresas in 'Empresas\Model\Data\uIDataModuleEmpresas.pas', uIDataModuleEmpresas in 'Empresas\Model\Data\uIDataModuleEmpresas.pas',
uDataModuleEmpresas in 'Empresas\Data\uDataModuleEmpresas.pas', uDataModuleEmpresas in 'Empresas\Data\uDataModuleEmpresas.pas' {DataModuleEmpresasObj},
uEmpresasController in 'Empresas\Controller\uEmpresasController.pas', uEmpresasController in 'Empresas\Controller\uEmpresasController.pas',
uDatosBancariosEmpresaController in 'Empresas\Controller\uDatosBancariosEmpresaController.pas', uDatosBancariosEmpresaController in 'Empresas\Controller\uDatosBancariosEmpresaController.pas',
uIEditorEmpresas in 'Empresas\Controller\View\uIEditorEmpresas.pas', uIEditorEmpresas in 'Empresas\Controller\View\uIEditorEmpresas.pas',

View File

@ -31,11 +31,13 @@
<DCC_HppOutput>.\</DCC_HppOutput> <DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput> <DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\Lib</DCC_DcpOutput> <DCC_DcpOutput>..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath> <DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\Lib</DCC_ResourcePath> <DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\Lib</DCC_ObjPath> <DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\Lib</DCC_IncludePath> <DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_IncludePath>
<DCC_Define>DEBUG</DCC_Define> <DCC_Define>DEBUG</DCC_Define>
<DCC_Optimize>False</DCC_Optimize>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
@ -56,37 +58,40 @@
<DelphiCompile Include="ApplicationBase.dpk"> <DelphiCompile Include="ApplicationBase.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Servidor\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\Servidor\cxDataD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD10.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD10.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD10.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dxThemeD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD10.dcp" />
<DCCReference Include="..\Servidor\GUIBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
<DCCReference Include="..\Servidor\Jcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="..\Servidor\JclVcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="..\Servidor\JvCoreD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvJansD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvJansD11R.dcp" />
<DCCReference Include="..\Servidor\JvMMD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="..\Servidor\JvStdCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvSystemD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="..\Servidor\pckUCDataConnector.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="..\Servidor\pckUserControl_RT.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D10R.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\Servidor\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="Empresas\Controller\uDatosBancariosEmpresaController.pas" /> <DCCReference Include="Empresas\Controller\uDatosBancariosEmpresaController.pas" />
<DCCReference Include="Empresas\Controller\uEmpresasController.pas" /> <DCCReference Include="Empresas\Controller\uEmpresasController.pas" />
<DCCReference Include="Empresas\Controller\View\uIEditorDatosBancarioEmpresa.pas" /> <DCCReference Include="Empresas\Controller\View\uIEditorDatosBancarioEmpresa.pas" />
<DCCReference Include="Empresas\Controller\View\uIEditorEmpresa.pas" /> <DCCReference Include="Empresas\Controller\View\uIEditorEmpresa.pas" />
<DCCReference Include="Empresas\Controller\View\uIEditorEmpresas.pas" /> <DCCReference Include="Empresas\Controller\View\uIEditorEmpresas.pas" />
<DCCReference Include="Empresas\Data\uDataModuleEmpresas.pas" /> <DCCReference Include="Empresas\Data\uDataModuleEmpresas.pas">
<Form>DataModuleEmpresasObj</Form>
</DCCReference>
<DCCReference Include="Empresas\Model\Data\uIDataModuleEmpresas.pas" /> <DCCReference Include="Empresas\Model\Data\uIDataModuleEmpresas.pas" />
<DCCReference Include="Empresas\Model\schEmpresasClient_Intf.pas" /> <DCCReference Include="Empresas\Model\schEmpresasClient_Intf.pas" />
<DCCReference Include="Empresas\Model\schEmpresasServer_Intf.pas" /> <DCCReference Include="Empresas\Model\schEmpresasServer_Intf.pas" />
@ -100,7 +105,9 @@
<DCCReference Include="uFactuGES_App.pas" /> <DCCReference Include="uFactuGES_App.pas" />
<DCCReference Include="Usuarios\Controller\uUsuariosController.pas" /> <DCCReference Include="Usuarios\Controller\uUsuariosController.pas" />
<DCCReference Include="Usuarios\Controller\View\uIEditorLogin.pas" /> <DCCReference Include="Usuarios\Controller\View\uIEditorLogin.pas" />
<DCCReference Include="Usuarios\Data\uDataModuleUsuarios.pas" /> <DCCReference Include="Usuarios\Data\uDataModuleUsuarios.pas">
<Form>DataModuleUsuariosObj</Form>
</DCCReference>
<DCCReference Include="Usuarios\Data\uUCROConn.pas" /> <DCCReference Include="Usuarios\Data\uUCROConn.pas" />
<DCCReference Include="Usuarios\Model\Data\uIDataModuleUsuarios.pas" /> <DCCReference Include="Usuarios\Model\Data\uIDataModuleUsuarios.pas" />
<DCCReference Include="Usuarios\Model\schUsuariosClient_Intf.pas" /> <DCCReference Include="Usuarios\Model\schUsuariosClient_Intf.pas" />

View File

@ -32,7 +32,7 @@ uses
constructor TDatosBancariosEmpresaController.Create; constructor TDatosBancariosEmpresaController.Create;
begin begin
inherited; inherited;
FDataModule := TDataModuleEmpresas.Create(Nil); // FDataModule := TDataModuleEmpresas.Create(Nil);
end; end;
destructor TDatosBancariosEmpresaController.Destroy; destructor TDatosBancariosEmpresaController.Destroy;

View File

@ -72,7 +72,7 @@ end;
constructor TEmpresasController.Create; constructor TEmpresasController.Create;
begin begin
FDataModule := TDataModuleEmpresas.Create(Nil); FDataModule := TDataModuleEmpresas.Create;
end; end;
procedure TEmpresasController.DescartarCambios(AEmpresa: IBizEmpresa); procedure TEmpresasController.DescartarCambios(AEmpresa: IBizEmpresa);

View File

@ -1,4 +1,4 @@
object DataModuleEmpresas: TDataModuleEmpresas object DataModuleEmpresasObj: TDataModuleEmpresasObj
OldCreateOrder = True OldCreateOrder = True
OnCreate = DAClientDataModuleCreate OnCreate = DAClientDataModuleCreate
Height = 267 Height = 267

View File

@ -11,7 +11,7 @@ uses {vcl:} SysUtils, Classes, DB, DBClient,
uDAMemDataTable, uDABin2DataStreamer, uIntegerListUtils; uDAMemDataTable, uDABin2DataStreamer, uIntegerListUtils;
type type
TDataModuleEmpresas = class(TDataModule, IDataModuleEmpresas) TDataModuleEmpresasObj = class(TDataModule, IDataModuleEmpresas)
RORemoteService: TRORemoteService; RORemoteService: TRORemoteService;
rda_Empresas: TDARemoteDataAdapter; rda_Empresas: TDARemoteDataAdapter;
Bin2DataStreamer: TDABin2DataStreamer; Bin2DataStreamer: TDABin2DataStreamer;
@ -28,6 +28,14 @@ type
function GetItems : IBizEmpresa; function GetItems : IBizEmpresa;
end; end;
TDataModuleEmpresas = class(TInterfacedObject, IDataModuleEmpresas)
private
FDataModule : TDataModuleEmpresasObj;
property DataModule : TDataModuleEmpresasObj read FDataModule implements IDataModuleEmpresas;
public
constructor Create;
destructor Destroy; override;
end;
implementation implementation
@ -37,13 +45,13 @@ uses
uDataModuleConexion, uDataTableUtils, uDataModuleConexion, uDataTableUtils,
FactuGES_Intf, schEmpresasClient_Intf, cxControls; FactuGES_Intf, schEmpresasClient_Intf, cxControls;
procedure TDataModuleEmpresas.DAClientDataModuleCreate(Sender: TObject); procedure TDataModuleEmpresasObj.DAClientDataModuleCreate(Sender: TObject);
begin begin
RORemoteService.Channel := dmConexion.Channel; RORemoteService.Channel := dmConexion.Channel;
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleEmpresas.GetItem(const ID: Integer): IBizEmpresa; function TDataModuleEmpresasObj.GetItem(const ID: Integer): IBizEmpresa;
begin begin
ShowHourglassCursor; ShowHourglassCursor;
try try
@ -61,7 +69,7 @@ begin
end; end;
end; end;
function TDataModuleEmpresas.GetItems: IBizEmpresa; function TDataModuleEmpresasObj.GetItems: IBizEmpresa;
var var
AEmpresa : TDAMemDataTable; AEmpresa : TDAMemDataTable;
begin begin
@ -81,12 +89,12 @@ begin
end; end;
end; end;
function TDataModuleEmpresas.NewItem: IBizEmpresa; function TDataModuleEmpresasObj.NewItem: IBizEmpresa;
begin begin
Result := GetItem(ID_NULO) Result := GetItem(ID_NULO)
end; end;
function TDataModuleEmpresas._GetDatosBancarios: IBizEmpresasDatosBancarios; function TDataModuleEmpresasObj._GetDatosBancarios: IBizEmpresasDatosBancarios;
var var
ADatosBancarios : TDAMemDataTable; ADatosBancarios : TDAMemDataTable;
begin begin
@ -106,6 +114,17 @@ begin
end; end;
initialization { TDataModuleEmpresas }
end. constructor TDataModuleEmpresas.Create;
begin
FDataModule := TDataModuleEmpresasObj.Create(NIL);
end;
destructor TDataModuleEmpresas.Destroy;
begin
FreeANDNIL(FDataModule);
inherited;
end;
end.

View File

@ -42,16 +42,6 @@ type
property CurrentEmpresa : TEmpresaDef read FEmpresaAtual write FEmpresaAtual; property CurrentEmpresa : TEmpresaDef read FEmpresaAtual write FEmpresaAtual;
property UserSettings: TUCUserSettings read FUserSettings write SetUserSettings;} property UserSettings: TUCUserSettings read FUserSettings write SetUserSettings;}
{ function BuscarTodos: IBizFormaPago;
function Buscar(ID: Integer): IBizFormaPago;
procedure VerTodos(AUsuarios: IBizFormaPago);
procedure Ver(AFormaPago: IBizFormaPago);
procedure Anadir(AFormaPago : IBizFormaPago);
function Eliminar(AFormaPago : IBizFormaPago): Boolean;
function Guardar(AFormaPago : IBizFormaPago): Boolean;
procedure DescartarCambios(AFormaPago : IBizFormaPago);
function Localizar(AUsuarios: IBizFormaPago; ADescripcion:String): Boolean;
function DarListaUsuarios: TStringList;}
end; end;
TUsuariosController = class(TControllerBase, IUsuariosController) TUsuariosController = class(TControllerBase, IUsuariosController)
@ -65,13 +55,11 @@ type
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
// function ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean;
procedure AsignarDataModule; procedure AsignarDataModule;
procedure InicializarUserControl; procedure InicializarUserControl;
procedure ComprobarUsuarioInicial; procedure ComprobarUsuarioInicial;
function GetCurrentUser: TUCCurrentUser; function GetCurrentUser: TUCCurrentUser;
procedure OnLoginForm(Sender: TObject; var CustomForm: TCustomForm);
public public
constructor Create; virtual; constructor Create; virtual;
destructor Destroy; override; destructor Destroy; override;
@ -84,17 +72,7 @@ type
procedure ShowChangePassword; procedure ShowChangePassword;
function ComprobarUsuario(const User : String; const Password: String): Boolean; function ComprobarUsuario(const User : String; const Password: String): Boolean;
procedure CambiarPassword(const AIDUser: Integer; const ANewPassword: String); procedure CambiarPassword(const AIDUser: Integer; const ANewPassword: String);
{ function Eliminar(AFormaPago : IBizFormaPago): Boolean;
function Guardar(AFormaPago : IBizFormaPago): Boolean; virtual;
procedure DescartarCambios(AFormaPago : IBizFormaPago); virtual;
procedure Anadir(AFormaPago : IBizFormaPago);
function BuscarTodos: IBizFormaPago;
function Buscar(ID: Integer): IBizFormaPago;
procedure VerTodos(AUsuarios: IBizFormaPago);
procedure Ver(AFormaPago: IBizFormaPago);
function Localizar(AUsuarios: IBizFormaPago; ADescripcion:String): Boolean;
function DarListaUsuarios: TStringList;}
property UserControl : TUserControl read FUserControl; property UserControl : TUserControl read FUserControl;
property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin; property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin;
property CurrentUser: TUCCurrentUser read GetCurrentUser; property CurrentUser: TUCCurrentUser read GetCurrentUser;
@ -104,44 +82,16 @@ implementation
uses uses
cxControls, DB, uEditorRegistryUtils, schUsuariosClient_Intf, cxControls, DB, uEditorRegistryUtils, schUsuariosClient_Intf,
uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App, uDAInterfaces, uDataTableUtils, uDialogUtils, uFactuGES_App, Dialogs,
uDateUtils, uROTypes, DateUtils, Controls, Windows, uIEditorLogin; uDateUtils, uROTypes, DateUtils, Controls, Windows, uIEditorLogin;
{ TUsuariosController } { TUsuariosController }
{procedure TUsuariosController.Anadir(AFormaPago: IBizFormaPago);
begin
AFormaPago.Insert;
end;}
procedure TUsuariosController.AsignarDataModule; procedure TUsuariosController.AsignarDataModule;
begin begin
FDataModule := TDataModuleUsuarios.Create(Nil); FDataModule := TDataModuleUsuarios.Create;
end; end;
{function TUsuariosController.Buscar(ID: Integer): IBizFormaPago;
begin
ShowHourglassCursor;
try
Result := BuscarTodos;
with Result.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText(fld_UsuariosID + ' = ' + IntToStr(ID));
CloseBraket;
end;
finally
HideHourglassCursor;
end;
end;
function TUsuariosController.BuscarTodos: IBizFormaPago;
begin
Result := FDataModule.GetItems;
end;}
procedure TUsuariosController.CambiarPassword(const AIDUser: Integer; procedure TUsuariosController.CambiarPassword(const AIDUser: Integer;
const ANewPassword: String); const ANewPassword: String);
begin begin
@ -174,49 +124,11 @@ begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end; end;
{
function TUsuariosController.DarListaUsuarios: TStringList;
var
AUsuarios: IBizFormaPago;
begin
AUsuarios := BuscarTodos;
AUsuarios.DataTable.Active := True;
Result := TStringList.Create;
try
with Result do
begin
AUsuarios.DataTable.First;
while not AUsuarios.DataTable.EOF do
begin
Add(AUsuarios.DESCRIPCION);
AUsuarios.DataTable.Next;
end;
end;
finally
AUsuarios := NIL;
end;
end;
procedure TUsuariosController.DescartarCambios(AFormaPago: IBizFormaPago);
begin
if not Assigned(AFormaPago) then
raise Exception.Create ('Forma de pago no asignada');
ShowHourglassCursor;
try
if (AFormaPago.State in dsEditModes) then
AFormaPago.Cancel;
AFormaPago.DataTable.CancelUpdates;
finally
HideHourglassCursor;
end;
end;
}
destructor TUsuariosController.Destroy; destructor TUsuariosController.Destroy;
begin begin
FreeANDNIL(FUserControl); FreeAndNIL(FUserControl);
FDataModule := NIL; FDataModule := NIL;
inherited; inherited;
end; end;
@ -239,8 +151,6 @@ begin
Criptografia := cMD5; Criptografia := cMD5;
CheckValidationKey := True; CheckValidationKey := True;
Login.MaxLoginAttempts := 3; Login.MaxLoginAttempts := 3;
OnCustomLoginForm := OnLoginForm;
end; end;
FDataModule.InicializarUserControl(FUserControl); FDataModule.InicializarUserControl(FUserControl);
end; end;
@ -250,99 +160,6 @@ begin
FUserControl.Logoff; FUserControl.Logoff;
end; end;
procedure TUsuariosController.OnLoginForm(Sender: TObject;
var CustomForm: TCustomForm);
begin
// CustomForm := TfLoginForm.Create(NIL);
end;
{
function TUsuariosController.ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean;
begin
Result := False;
if not Assigned(AFormaPago) then
raise Exception.Create ('Forma de pago no asignada');
if (AFormaPago.DataTable.State in dsEditModes) then
AFormaPago.DataTable.Post;
if Length(AFormaPago.REFERENCIA) = 0 then
raise Exception.Create('Debe indicar una referencia para esta forma de pago.');
if Length(AFormaPago.DESCRIPCION) = 0 then
raise Exception.Create('Debe indicar una descripción para esta forma de pago.');
Result := True;
end;
procedure TUsuariosController.Ver(AFormaPago: IBizFormaPago);
var
AEditor : IEditorFormaPago;
begin
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorFormaPago', IEditorFormaPago, AEditor);
with AEditor do
FormaPago := AFormaPago;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
AEditor.ShowModal;
AEditor.Release;
finally
AEditor := NIL;
end;
end;
procedure TUsuariosController.VerTodos(AUsuarios: IBizFormaPago);
var
AEditor : IEditorUsuarios;
begin
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorUsuarios', IEditorUsuarios, AEditor);
with AEditor do
Usuarios := AUsuarios;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
AEditor.ShowModal;
AEditor.Release;
finally
AEditor := NIL;
end;
end;
function TUsuariosController.Eliminar(AFormaPago: IBizFormaPago): Boolean;
begin
Result := False;
if not Assigned(AFormaPago) then
raise Exception.Create ('Forma de pago no asignada');
ShowHourglassCursor;
try
if (AFormaPago.State in dsEditModes) then
AFormaPago.Cancel;
AFormaPago.Delete;
AFormaPago.DataTable.ApplyUpdates;
HideHourglassCursor;
Result := True;
finally
HideHourglassCursor;
end;
end;}
procedure TUsuariosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); procedure TUsuariosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
begin begin
inherited; inherited;
@ -382,6 +199,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
CreateEditor('EditorLogin', IEditorLogin, AEditor); CreateEditor('EditorLogin', IEditorLogin, AEditor);
with AEditor do with AEditor do
Controller := Self; Controller := Self;
finally finally
@ -399,38 +217,4 @@ begin
end; end;
end; end;
{function TUsuariosController.Guardar(AFormaPago: IBizFormaPago): Boolean;
begin
Result := False;
if ValidarFormaPago(AFormaPago) then
begin
ShowHourglassCursor;
try
AFormaPago.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;
end;
end;
end;
function TUsuariosController.Localizar(AUsuarios: IBizFormaPago; ADescripcion: String): Boolean;
begin
Result := True;
ShowHourglassCursor;
try
with AUsuarios.DataTable do
begin
DisableControls;
First;
if not Locate(fld_UsuariosDESCRIPCION, ADescripcion, []) then
Result := False;
EnableControls;
end;
finally
HideHourglassCursor;
end;
end;}
end. end.

View File

@ -1,43 +1,31 @@
object DataModuleUsuarios: TDataModuleUsuarios object DataModuleUsuariosObj: TDataModuleUsuariosObj
OldCreateOrder = True OldCreateOrder = True
OnCreate = DAClientDataModuleCreate Height = 149
Height = 205 Width = 273
Width = 355
object ROLoginService: TRORemoteService
Message = dmConexion.ROMessage
Channel = dmConexion.ROChannel
ServiceName = 'srvLogin'
Left = 48
Top = 32
end
object srvUsuarios: TRORemoteService object srvUsuarios: TRORemoteService
Message = dmConexion.ROMessage Message = dmConexion.ROMessage
Channel = dmConexion.ROChannel Channel = dmConexion.ROChannel
ServiceName = 'srvUsuarios' ServiceName = 'srvUsuarios'
Left = 152 Left = 40
Top = 32 Top = 72
end
object Bin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 104
end end
object UCSettingsSpanish: TUCSettings object UCSettingsSpanish: TUCSettings
AppMessages.MsgsForm_BtNew = '&Nuevo mensaje' AppMessages.MsgsForm_BtNew = '&Nuevo Mensaje'
AppMessages.MsgsForm_BtReplay = '&Repetir' AppMessages.MsgsForm_BtReplay = '&Responder'
AppMessages.MsgsForm_BtForward = '&Siguiente' AppMessages.MsgsForm_BtForward = '&Reenviar'
AppMessages.MsgsForm_BtDelete = '&Eliminar' AppMessages.MsgsForm_BtDelete = '&Borrar'
AppMessages.MsgsForm_BtClose = '&Cerrar' AppMessages.MsgsForm_BtClose = '&Cerrar'
AppMessages.MsgsForm_WindowCaption = 'Mensajes del sistema' AppMessages.MsgsForm_WindowCaption = 'Mensajes de Sistema'
AppMessages.MsgsForm_ColFrom = 'De' AppMessages.MsgsForm_ColFrom = 'Remitente'
AppMessages.MsgsForm_ColSubject = 'Asunto' AppMessages.MsgsForm_ColSubject = 'Asunto'
AppMessages.MsgsForm_ColDate = 'Fecha' AppMessages.MsgsForm_ColDate = 'Fecha'
AppMessages.MsgsForm_PromptDelete = #194#191'Desea eliminar los mensajes seleccionados?' AppMessages.MsgsForm_PromptDelete = #191'Est'#225' seguro de eliminar los mensajes seleccionados?'
AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Eliminar mensajes' AppMessages.MsgsForm_PromptDelete_WindowCaption = 'Eliminar mensajes'
AppMessages.MsgsForm_NoMessagesSelected = 'No hay mensajes seleccionados' AppMessages.MsgsForm_NoMessagesSelected = '!Ning'#250'n mensaje seleccionado'#161
AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Informaci'#195#179'n' AppMessages.MsgsForm_NoMessagesSelected_WindowCaption = 'Informaci'#243'n'
AppMessages.MsgRec_BtClose = '&Cerrar' AppMessages.MsgRec_BtClose = '&Cerrar'
AppMessages.MsgRec_WindowCaption = 'Mensaje' AppMessages.MsgRec_WindowCaption = 'Mensaje'
AppMessages.MsgRec_Title = 'Mensaje recibido' AppMessages.MsgRec_Title = 'Mensaje Recibido'
AppMessages.MsgRec_LabelFrom = 'De:' AppMessages.MsgRec_LabelFrom = 'De:'
AppMessages.MsgRec_LabelDate = 'Fecha' AppMessages.MsgRec_LabelDate = 'Fecha'
AppMessages.MsgRec_LabelSubject = 'Asunto' AppMessages.MsgRec_LabelSubject = 'Asunto'
@ -45,42 +33,42 @@ object DataModuleUsuarios: TDataModuleUsuarios
AppMessages.MsgSend_BtSend = '&Enviar' AppMessages.MsgSend_BtSend = '&Enviar'
AppMessages.MsgSend_BtCancel = '&Cancelar' AppMessages.MsgSend_BtCancel = '&Cancelar'
AppMessages.MsgSend_WindowCaption = 'Mensaje' AppMessages.MsgSend_WindowCaption = 'Mensaje'
AppMessages.MsgSend_Title = 'Enviar un nuevo mensaje' AppMessages.MsgSend_Title = 'Enviar Nuevo Mensaje'
AppMessages.MsgSend_GroupTo = 'A' AppMessages.MsgSend_GroupTo = 'Para:'
AppMessages.MsgSend_RadioUser = 'Usuario:' AppMessages.MsgSend_RadioUser = 'Usuario:'
AppMessages.MsgSend_RadioAll = 'Todos' AppMessages.MsgSend_RadioAll = 'Todos'
AppMessages.MsgSend_GroupMessage = 'Mensaje' AppMessages.MsgSend_GroupMessage = 'Mensaje'
AppMessages.MsgSend_LabelSubject = 'Asunto' AppMessages.MsgSend_LabelSubject = 'Asunto'
AppMessages.MsgSend_LabelMessageText = 'Texto del mensaje' AppMessages.MsgSend_LabelMessageText = 'Texto del mensaje'
CommonMessages.AutoLogonError = 'Fault of Car Logon !'#13#10'Inform a valid user and password.' CommonMessages.AutoLogonError =
CommonMessages.ChangePasswordError.InvalidCurrentPassword = 'Current password does not tally!' 'Error de Ingreso Autom'#225'tico!'#13#10'Especifique un Usuario y Contrase'#241 +
'a V'#225'lidos.'
CommonMessages.ChangePasswordError.InvalidCurrentPassword = #161'Contrase'#241'a Actual Incorrecta!'
CommonMessages.ChangePasswordError.NewPasswordError = CommonMessages.ChangePasswordError.NewPasswordError =
'Los campos de nueva contrase'#195#177'a y confirmaci'#195#179'n deben ser iguale' + 'Los campos Contrase'#241'a Nueva y Confirme Contrase'#241'a deben ser igua' +
's.' 'les'
CommonMessages.ChangePasswordError.NewEqualCurrent = 'La nueva contrase'#195#177'a es la misma que la contrase'#195#177'a actual ' CommonMessages.ChangePasswordError.NewEqualCurrent = 'Nueva Contrase'#241'a y Contrase'#241'a Actual deben ser diferentes'
CommonMessages.ChangePasswordError.PasswordRequired = 'The password is compulsory ' CommonMessages.ChangePasswordError.PasswordRequired = #161'La Contrase'#241'a es obligatoria!'
CommonMessages.ChangePasswordError.MinPasswordLength = 'La contrase'#195#177'a debe contener al menos %d caracteres ' CommonMessages.ChangePasswordError.MinPasswordLength = 'La Contrase'#241'a debe tener un m'#237'nimo de %d caracteres'
CommonMessages.ChangePasswordError.InvalidNewPassword = #194#161'La nueva contrase'#195#177'a no es v'#195#161'lida por ser demasiado f'#195#161'cil!' CommonMessages.ChangePasswordError.InvalidNewPassword = #161'Prohibido utilizar contrase'#241'as NO Seguras!'
CommonMessages.InvalidLogin = 'User invalids or password !' CommonMessages.InvalidLogin = 'Usuario y/o Contrase'#241'a Incorrectos!'
CommonMessages.InitialMessage.Strings = ( CommonMessages.InitialMessage.Strings = (
'ATTENTION, Inicial Login :' 'ATENCION! Conecci'#243'n Inicial:'
'' ''
'User: :user' 'Usuario : :user'
'Password : :password' 'Contrase'#241'a : :password'
'' ''
'Define the permissions for this user.') 'Defina permisos para este usuario')
CommonMessages.MaxLoginAttemptsError = CommonMessages.MaxLoginAttemptsError = '%d Intentos de conecci'#243'n inv'#225'lidos !'
'%d Attempts of login invalid. By reasons of segun'#231'a the system w' + CommonMessages.PasswordChanged = #161'Se ha cambiado la Contrase'#241'a con '#233'xito!'
'ill be closed.' CommonMessages.BlankPassword = 'Contrase'#241'a vac'#237'a para el Usuario %s'
CommonMessages.PasswordChanged = #194#161'Contrase'#195#177'a cambiada!' CommonMessages.UsuarioExiste = 'O Usu'#225'rio "%s" j'#225' est'#225' cadastrado no sistema !!'
CommonMessages.BlankPassword = 'Retired password of the Login %s' CommonMessages.PasswordExpired = 'Aten'#231#227'o, sua senha expirou, favor troca-la'
CommonMessages.UsuarioExiste = 'The User "%s" is already set up in the system !!'
CommonMessages.PasswordExpired = 'Attention, his sign died, favor exchanges it '
CommonMessages.ForcaTrocaSenha = 'Mudan'#231'a de senha obrigat'#243'ria' CommonMessages.ForcaTrocaSenha = 'Mudan'#231'a de senha obrigat'#243'ria'
Login.WindowCaption = 'Login' Login.WindowCaption = 'Conecci'#243'n'
Login.LabelUser = 'Usuario :' Login.LabelUser = 'Usuario: '
Login.LabelPassword = 'Contrase'#195#177'a :' Login.LabelPassword = 'Contrase'#241'a:'
Login.BtOk = '&Aceptar' Login.BtOk = 'Aceptar'
Login.BtCancel = '&Cancelar' Login.BtCancel = '&Cancelar'
Login.LeftImage.Data = { Login.LeftImage.Data = {
07544269746D617016090000424D160900000000000036040000280000003200 07544269746D617016090000424D160900000000000036040000280000003200
@ -157,118 +145,122 @@ object DataModuleUsuarios: TDataModuleUsuarios
A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD A3A3FDFDFDFDFDFDFDFDFDFD0000FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
0000} 0000}
Login.LabelTentativa = 'Attempt : ' Login.LabelTentativa = 'Tentativa : '
Login.LabelTentativas = 'Max of Attempts: ' Login.LabelTentativas = 'M'#225'ximo de Tentativas : '
Log.WindowCaption = 'Security' Log.WindowCaption = 'Seguridad'
Log.LabelDescription = 'Log of system' Log.LabelDescription = 'Visor de Eventos'
Log.LabelUser = 'User :' Log.LabelUser = 'Usuario:'
Log.LabelDate = 'Date :' Log.LabelDate = 'Fecha:'
Log.LabelLevel = 'Least level:' Log.LabelLevel = 'Nivel M'#237'nimo: '
Log.ColAppID = 'AppID' Log.ColAppID = 'AppID'
Log.ColLevel = 'Level ' Log.ColLevel = 'Nivel'
Log.ColMessage = 'Message' Log.ColMessage = 'Mensaje'
Log.ColUser = 'User' Log.ColUser = 'Usuario'
Log.ColDate = 'Date' Log.ColDate = 'Fecha'
Log.BtFilter = '&Apply Filter' Log.BtFilter = '&Aplicar Filtro'
Log.BtDelete = '&Erase Log' Log.BtDelete = '&Borrar Bit'#225'cora'
Log.BtClose = '&Close' Log.BtClose = '&Cerrar'
Log.PromptDelete = 'It confirms to exclude all the registers of log selected ?' Log.PromptDelete =
Log.PromptDelete_WindowCaption = 'Delete confirmation' #191'Est'#225' seguro de Eliminar todos todos los registros de Bit'#225'cora s' +
Log.OptionUserAll = 'All' 'eleccionados?'
Log.OptionLevelLow = 'Low' Log.PromptDelete_WindowCaption = 'Confirmaci'#243'n'
Log.OptionUserAll = 'Todos'
Log.OptionLevelLow = 'Bajo'
Log.OptionLevelNormal = 'Normal' Log.OptionLevelNormal = 'Normal'
Log.OptionLevelHigh = 'High' Log.OptionLevelHigh = 'Alto'
Log.OptionLevelCritic = 'Critic' Log.OptionLevelCritic = 'Cr'#237'tico'
Log.DeletePerformed = Log.DeletePerformed =
'Deletion of system log done: User = "%s" | Date = %s a %s | Leve' + 'Borrado de registros de bit'#225'cora realizado: Usuario = "%s" | Fec' +
'l <= %s' 'ha = %s a %s | Nivel <= %s'
UsersForm.WindowCaption = 'Security' UsersForm.WindowCaption = 'Seguridad'
UsersForm.LabelDescription = 'Users register ' UsersForm.LabelDescription = 'Administraci'#243'n de Usuarios'
UsersForm.ColName = 'Name' UsersForm.ColName = 'Nombre'
UsersForm.ColLogin = 'Login' UsersForm.ColLogin = 'Usuario'
UsersForm.ColEmail = 'Email' UsersForm.ColEmail = 'Correo'
UsersForm.BtAdd = '&Add' UsersForm.BtAdd = '&Nuevo'
UsersForm.BtChange = 'A&lter' UsersForm.BtChange = '&Editar'
UsersForm.BtDelete = '&Erase' UsersForm.BtDelete = 'E&liminar'
UsersForm.PromptDelete = 'Confirm erase the user "%s" ?' UsersForm.PromptDelete = #191'Est'#225' seguro de Eliminar al Usuario "%s"?'
UsersForm.PromptDelete_WindowCaption = 'Delete user' UsersForm.PromptDelete_WindowCaption = 'Eliminar usuario'
UsersForm.BtRights = 'A&ccesses' UsersForm.BtRights = '&Accesos'
UsersForm.BtPassword = '&Password' UsersForm.BtPassword = 'C&ontrase'#241'a'
UsersForm.BtClose = '&Close' UsersForm.BtClose = '&Cerrar'
AddChangeUser.WindowCaption = 'Users register ' AddChangeUser.WindowCaption = 'Administraci'#243'n de Usuarios'
AddChangeUser.LabelAdd = 'Add User' AddChangeUser.LabelAdd = 'Nuevo Usuario'
AddChangeUser.LabelChange = 'Change User' AddChangeUser.LabelChange = 'Editar Usuario'
AddChangeUser.LabelName = 'Name :' AddChangeUser.LabelName = 'Nombre:'
AddChangeUser.LabelLogin = 'Login :' AddChangeUser.LabelLogin = 'Usuario: '
AddChangeUser.LabelEmail = 'Email :' AddChangeUser.LabelEmail = 'Correo: '
AddChangeUser.LabelPerfil = 'Profile :' AddChangeUser.LabelPerfil = 'Perfil: '
AddChangeUser.CheckPrivileged = 'Privileged user ' AddChangeUser.CheckPrivileged = 'Usuario Privilegiado'
AddChangeUser.BtSave = '&Save' AddChangeUser.BtSave = '&Guardar'
AddChangeUser.BtCancel = 'Cancel' AddChangeUser.BtCancel = 'Cancelar'
AddChangeUser.CheckExpira = 'Senha do usu'#225'rio n'#227'o expira' AddChangeUser.CheckExpira = 'Senha do usu'#225'rio n'#227'o expira'
AddChangeUser.Day = 'Dias' AddChangeUser.Day = 'Dias'
AddChangeUser.ExpiredIn = 'Expira em' AddChangeUser.ExpiredIn = 'Expira em'
AddChangeProfile.WindowCaption = 'Profile the Users' AddChangeProfile.WindowCaption = 'Perfiles de Usuarios'
AddChangeProfile.LabelAdd = 'Add Profile' AddChangeProfile.LabelAdd = 'Nuevo Perfil'
AddChangeProfile.LabelChange = 'Change Profile ' AddChangeProfile.LabelChange = 'Editar Perfil'
AddChangeProfile.LabelName = 'Description :' AddChangeProfile.LabelName = 'Descripci'#243'n: '
AddChangeProfile.BtSave = '&Save' AddChangeProfile.BtSave = '&Guardar'
AddChangeProfile.BtCancel = 'Cancel' AddChangeProfile.BtCancel = 'Cancelar'
UsersProfile.WindowCaption = 'Security' UsersProfile.WindowCaption = 'Seguridad'
UsersProfile.LabelDescription = 'Users profile ' UsersProfile.LabelDescription = 'Perfil de Usuario'
UsersProfile.ColProfile = 'Profile' UsersProfile.ColProfile = 'Perfil'
UsersProfile.BtAdd = '&Add' UsersProfile.BtAdd = '&Nuevo'
UsersProfile.BtChange = 'A&lter' UsersProfile.BtChange = '&Editar'
UsersProfile.BtDelete = '&Delete' UsersProfile.BtDelete = 'E&liminar'
UsersProfile.BtRights = 'A&ccesses' UsersProfile.BtRights = '&Accesos'
UsersProfile.PromptDelete = 'There are users with the profile "%s". Confirm erase ?' UsersProfile.PromptDelete =
UsersProfile.PromptDelete_WindowCaption = 'Delete profile' 'Existe(n) usuario(s) con el Perfil "%s". '#191'Est'#225' seguro de elimina' +
UsersProfile.BtClose = '&Close' 'r el perfil?'
UsersProfile.PromptDelete_WindowCaption = 'Eliminar perfil'
UsersProfile.BtClose = '&Cerrar'
Rights.WindowCaption = 'Seguridad' Rights.WindowCaption = 'Seguridad'
Rights.LabelUser = 'Permissions of the User :' Rights.LabelUser = 'Permisos de Usuario : '
Rights.LabelProfile = 'Permissions of the Profile :' Rights.LabelProfile = 'Permisos del Perfil : '
Rights.PageMenu = 'Items of the Menu' Rights.PageMenu = 'Elementos del Men'#250
Rights.PageActions = 'Actions' Rights.PageActions = 'Acciones'
Rights.PageControls = 'Controls' Rights.PageControls = 'Controles'
Rights.BtUnlock = '&Desbloquear' Rights.BtUnlock = '&Permitir'
Rights.BtLock = '&Bloquear' Rights.BtLock = '&Bloquear'
Rights.BtSave = '&Guardar' Rights.BtSave = '&Guardar'
Rights.BtCancel = '&Cancelar' Rights.BtCancel = '&Cancelar'
ChangePassword.WindowCaption = 'Seguridad' ChangePassword.WindowCaption = 'Seguridad'
ChangePassword.LabelDescription = 'Cambiar la contrase'#195#177'a' ChangePassword.LabelDescription = 'Cambiar Contrase'#241'a'
ChangePassword.LabelCurrentPassword = 'Contrase'#195#177'a actual: ' ChangePassword.LabelCurrentPassword = 'Contrase'#241'a Actual:'
ChangePassword.LabelNewPassword = 'Nueva contrase'#195#177'a: ' ChangePassword.LabelNewPassword = 'Nueva Contrase'#241'a:'
ChangePassword.LabelConfirm = 'Confirmar contrase'#195#177'a: ' ChangePassword.LabelConfirm = 'Confirme Contrase'#241'a:'
ChangePassword.BtSave = 'C&ambiar' ChangePassword.BtSave = '&Guardar'
ChangePassword.BtCancel = 'Cancelar' ChangePassword.BtCancel = 'Cancelar'
ResetPassword.WindowCaption = 'Define Password of the user : "%s"' ResetPassword.WindowCaption = 'Ingrese Contrase'#241'a de Usuario: "%s"'
ResetPassword.LabelPassword = 'Password :' ResetPassword.LabelPassword = 'Contrase'#241'a: '
History.Evento_Insert = 'Inserido' History.Evento_Insert = 'Nuevo'
History.Evento_Delete = 'Apagado' History.Evento_Delete = 'Eliminar'
History.Evento_Edit = 'Editado' History.Evento_Edit = 'Editar'
History.Evento_NewRecord = 'Novo registro' History.Evento_NewRecord = 'Nuevo registro'
History.Hist_All = 'Todos' History.Hist_All = 'Todos'
History.Msg_LimpHistorico = 'Excluir todo o conte'#250'do do hist'#243'rico ?' History.Msg_LimpHistorico = 'Excluir el contenido entero del hist'#243'rico ?'
History.Msg_MensConfirma = 'Confirma'#231#227'o' History.Msg_MensConfirma = 'Confirme'
History.Msg_LogEmptyHistory = 'Usu'#225'rio %s apagou todo o hist'#243'rico as %s' History.Msg_LogEmptyHistory = 'El usuario %s borra la historia de mesa en %s '
History.LabelDescricao = 'Hist'#243'rico de tabelas' History.LabelDescricao = 'Hist'#243'rico de tabelas'
History.LabelUser = 'Usu'#225'rio' History.LabelUser = 'Usuario'
History.LabelForm = 'Formul'#225'rio' History.LabelForm = 'Formul'#225'rio'
History.LabelEvento = 'Evento' History.LabelEvento = 'Evento'
History.LabelTabela = 'Tabela' History.LabelTabela = 'Tabela'
History.LabelDataEvento = 'Data' History.LabelDataEvento = 'Data'
History.LabelHoraEvento = 'Hora' History.LabelHoraEvento = 'Hora'
History.Msg_NewRecord = '%s inseriu um novo registro' History.Msg_NewRecord = '%s Inserte el nuevo registro'
History.Hist_MsgExceptPropr = 'Favor informar a propriedade %s' History.Hist_MsgExceptPropr = 'Por favor informe la propiedad %s'
History.Hist_BtnFiltro = '&Aplicar Filtro' History.Hist_BtnFiltro = '&Aplicar Filtro'
History.Hist_BtnExcluir = '&Excluir Hist'#243'rico' History.Hist_BtnExcluir = '&Borrar Hist'#243'rico'
History.Hist_BtnFechar = '&Fechar' History.Hist_BtnFechar = '&Cerrar'
TypeFieldsDB.Type_VarChar = 'VarChar' TypeFieldsDB.Type_VarChar = 'VarChar'
TypeFieldsDB.Type_Char = 'Char' TypeFieldsDB.Type_Char = 'Char'
TypeFieldsDB.Type_Int = 'Int' TypeFieldsDB.Type_Int = 'Int'
TypeFieldsDB.Type_MemoField = 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024' TypeFieldsDB.Type_MemoField = 'BLOB SUB_TYPE 1 SEGMENT SIZE 1024'
Language = ucPortuguesBr Language = ucSpanish
Left = 152 Left = 40
Top = 104 Top = 16
end end
end end

View File

@ -9,203 +9,53 @@ uses
uDARemoteCommand, uROClient, uRORemoteService, uDADataStreamer, uDARemoteCommand, uROClient, uRORemoteService, uDADataStreamer,
uDABin2DataStreamer, uDAScriptingProvider, uIDataModuleUsuarios, UCSettings; uDABin2DataStreamer, uDAScriptingProvider, uIDataModuleUsuarios, UCSettings;
const
PERFIL_ADMINISTRADORES = 'Administradores';
type type
TDataModuleUsuarios = class(TDataModule, IDataModuleUsuarios) TDataModuleUsuariosObj = class(TDataModule)
ROLoginService: TRORemoteService;
srvUsuarios: TRORemoteService; srvUsuarios: TRORemoteService;
Bin2DataStreamer: TDABin2DataStreamer;
UCSettingsSpanish: TUCSettings; UCSettingsSpanish: TUCSettings;
procedure DAClientDataModuleCreate(Sender: TObject);
procedure DAClientDataModuleDestroy(Sender: TObject);
private private
FDataConnector : TUCROConn;
FUsuario : String;
FPassword : String; // Lo guardo para poder hacer una reconexión
FLoginInfo: TRdxLoginInfo;
// function GetEsAdministrador: Boolean;
//function GetEmpresas: TIntegerList;
{procedure SetEmpresaActual(const Value: IBizEmpresa);
function GetIDEmpresaActual: Integer;
procedure SetIDEmpresaActual(const Value: Integer);}
function GetDataConnector : TUCDataConnector;
function GetUCSettings : TUCSettings;
procedure InicializarCamposUserControl(AUserControl: TUserControl); procedure InicializarCamposUserControl(AUserControl: TUserControl);
procedure InicializarSettingsUserControl(AUserControl: TUserControl); procedure InicializarSettingsUserControl(AUserControl: TUserControl);
function CreateConnectorInstance : TUCDataConnector;
public public
procedure InicializarUserControl (AUserControl : TUserControl); procedure InicializarUserControl (AUserControl : TUserControl);
{ function Login: Boolean; overload;
function Login(Usuario: String; Password: String): Boolean; overload;
procedure Logout;
procedure CambiarPassword; overload;}
// property EsAdministrador : Boolean read GetEsAdministrador;
// property IDEmpresaActual : Integer read GetIDEmpresaActual write SetIDEmpresaActual;
// property EmpresaActual : IBizEmpresa read FEmpresaActual write SetEmpresaActual;
// property Empresas : TIntegerList read GetEmpresas;
// property LoginInfo: TRdxLoginInfo read FLoginInfo;
property DataConnector : TUCDataConnector read GetDataConnector;
property UCSettings: TUCSettings read GetUCSettings;
end; end;
TDataModuleUsuarios = class(TInterfacedObject, IDataModuleUsuarios)
private
FDataModule : TDataModuleUsuariosObj;
public
procedure InicializarUserControl (AUserControl : TUserControl);
constructor Create;
destructor Destroy; override;
end;
implementation implementation
{$R *.DFM} {$R *.DFM}
uses uses
Forms, Controls, uDataTableUtils, uDataModuleConexion, Forms, Controls, uDataTableUtils, uDataModuleConexion,
Dialogs, Windows, uEmpresasController, Dialogs, Windows, uEmpresasController, uDataModuleBase,
schUsuariosClient_Intf; schUsuariosClient_Intf;
{ TDAClientDataModule1 } { TDAClientDataModule1 }
procedure TDataModuleUsuarios.DAClientDataModuleCreate(Sender: TObject); function TDataModuleUsuariosObj.CreateConnectorInstance: TUCDataConnector;
begin begin
ROLoginService.Channel := dmConexion.Channel; // El propietario (Owner) es Application para que se encarge de la
ROLoginService.Message := dmConexion.Message; // liberación del conector que estamos creando.
Result := TUCROConn.Create(Application);
FDataConnector := TUCROConn.Create(nil); with TUCROConn(Result) do
FDataConnector.RemoteService := srvUsuarios;
FUsuario := '';
FPassword := '';
FLoginInfo := NIL;
end;
{function TDataModuleUsuarios.Login: Boolean;
begin
// Intento hacer login si el usuario ya lo había hecho antes
if (Length(FUsuario) > 0) then
if Login(FUsuario, FPassword) then
begin
Result := True;
Exit;
end;
// Si no funcionar el login anterior o es la primera vez,
// saco la pantalla de login
with TfLoginForm.Create(NIL) do
try
if Assigned(FLoginInfo) then
edtUser.Text := FLoginInfo.Usuario;
Result := (ShowModal = mrOK)
finally
Free;
end;
end;}
{function TDataModuleUsuarios.Login(Usuario: String; Password: String): Boolean;
begin
// Libero la información del login anterior (sesión, etc)
if Assigned(FLoginInfo) then
FreeANDNil(FLoginInfo);
Result := (ROLoginService as IsrvLogin).Login(Usuario, Password, FLoginInfo);
if Result then
begin begin
// Lo guardo para poder reconectarme ROServiceName := srvUsuarios.ServiceName;
FUsuario := Usuario; ROChannel := dmConexion.ROChannel;
FPassword := Password; ROMessage := dmConexion.ROMessage;
end; end;
end;}
{procedure TDataModuleUsuarios.Logout;
begin
(ROLoginService as IsrvLogin).Logout;
if Assigned(FLoginInfo) then
FreeANDNil(FLoginInfo);
FUsuario := '';
FPassword := '';
end;}
{procedure TDataModuleUsuarios.SetEmpresaActual(const Value: IBizEmpresa);
begin
FEmpresaActual := Value;
FEmpresaActual.DataTable.Active := True;
end;}
{procedure TDataModuleUsuarios.SetIDEmpresaActual(const Value: Integer);
var
AEmpresasController : IEmpresasController;
AEmpresa : IBizEmpresa;
begin
AEmpresasController := TEmpresasController.Create;
AEmpresa := AEmpresasController.Buscar(Value);
AEmpresa.DataTable.Active := True;
if not AEmpresa.IsEmpty then
begin
FEmpresaActual := AEmpresa;
FEmpresaActual.DataTable.Active := True;
end
else
FEmpresaActual := NIL;
end;}
procedure TDataModuleUsuarios.DAClientDataModuleDestroy(Sender: TObject);
begin
if Assigned(FDataConnector) then
FreeANDNIL(FDataConnector);
if Assigned(FLoginInfo) then
FreeANDNIL(FLoginInfo);
end; end;
function TDataModuleUsuarios.GetDataConnector: TUCDataConnector; procedure TDataModuleUsuariosObj.InicializarCamposUserControl(
begin
Result := FDataConnector;
end;
{function TDataModuleUsuarios.GetEmpresas: TIntegerList;
var
i : integer;
begin
Result := TIntegerList.Create;
if not Assigned(FLoginInfo) then
raise Exception.Create('Usuario no validado en el sistema (login)');
for i := 0 to FLoginInfo.Empresas.Count - 1 do
Result.Add(FLoginInfo.Empresas.Items[i]);
end;
function TDataModuleUsuarios.GetEsAdministrador: Boolean;
var
I: Integer;
begin
Result := False;
if not Assigned(FLoginInfo) then
raise Exception.Create('Usuario no validado en el sistema (login)');
for I := 0 to FLoginInfo.Perfiles.Count - 1 do
if FLoginInfo.Perfiles.Items[I] = PERFIL_ADMINISTRADORES then
begin
Result := True;
Break;
end;
end;
function TDataModuleUsuarios.GetIDEmpresaActual: Integer;
begin
if not Assigned(FEmpresaActual) then
Result := ID_NULO
else
Result := FEmpresaActual.ID;
end; }
function TDataModuleUsuarios.GetUCSettings: TUCSettings;
begin
Result := UCSettingsSpanish;
end;
procedure TDataModuleUsuarios.InicializarCamposUserControl(
AUserControl: TUserControl); AUserControl: TUserControl);
begin begin
if not Assigned(AUserControl) then if not Assigned(AUserControl) then
@ -213,7 +63,7 @@ begin
with AUserControl do with AUserControl do
begin begin
DataConnector := FDataConnector; DataConnector := CreateConnectorInstance;
with TableUsers do with TableUsers do
begin begin
@ -269,7 +119,7 @@ begin
end; end;
end; end;
procedure TDataModuleUsuarios.InicializarSettingsUserControl( procedure TDataModuleUsuariosObj.InicializarSettingsUserControl(
AUserControl: TUserControl); AUserControl: TUserControl);
var var
SourceSettings : TUCSettings; SourceSettings : TUCSettings;
@ -510,7 +360,7 @@ begin
end; end;
end; end;
procedure TDataModuleUsuarios.InicializarUserControl( procedure TDataModuleUsuariosObj.InicializarUserControl(
AUserControl: TUserControl); AUserControl: TUserControl);
begin begin
if Assigned(AUserControl) then if Assigned(AUserControl) then
@ -520,16 +370,23 @@ begin
end; end;
end; end;
{procedure TDataModuleUsuarios.CambiarPassword; { TDataModuleUsuarios }
constructor TDataModuleUsuarios.Create;
begin begin
with TfCambiarPassword.Create(NIL) do FDataModule := TDataModuleUsuariosObj.Create(NIL);
try end;
if ShowModal = mrOk then
if CambiarPassword(edtPassword.Text) then destructor TDataModuleUsuarios.Destroy;
Application.MessageBox('La contraseña ha sido cambiada correctamente.', 'Información', MB_OK); begin
finally FreeANDNIL(FDataModule);
Free; inherited;
end; end;
end;}
procedure TDataModuleUsuarios.InicializarUserControl(
AUserControl: TUserControl);
begin
FDataModule.InicializarUserControl(AUserControl);
end;
end. end.

View File

@ -22,21 +22,24 @@ uses
DB, DB,
DBClient, DBClient,
SysUtils, SysUtils,
UCDataConnector, uRORemoteService, uDADataStreamer, uROBinMessage, uROWinInetHttpChannel,
uRORemoteService, uDABin2DataStreamer, uDARemoteDataAdapter, UCDataConnector;
uDADataStreamer,
uDABin2DataStreamer,
uDARemoteDataAdapter;
type type
TUCROConn = class(TUCDataConnector) TUCROConn = class(TUCDataConnector)
private private
FMessage: TROBinMessage;
FChannel: TROWinInetHTTPChannel;
FRemoteService: TRORemoteService; FRemoteService: TRORemoteService;
FDataAdapter : TDARemoteDataAdapter; FDataAdapter : TDARemoteDataAdapter;
FDataStreamer : TDABin2DataStreamer; FDataStreamer : TDABin2DataStreamer;
procedure SetRemoteService(const Value: TRORemoteService); procedure SetServiceName(const Value: String);
function GetServiceName: String;
procedure SetChannel(const Value: TROWinInetHTTPChannel);
procedure SetMessage(const Value: TROBinMessage);
protected protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure RefreshROConnection;
public public
function GetDBObjectName: String; override; function GetDBObjectName: String; override;
function GetTransObjectName: String; override; function GetTransObjectName: String; override;
@ -47,7 +50,9 @@ type
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
published published
property RemoteService : TRORemoteService read FRemoteService write SetRemoteService; property ROServiceName : String read GetServiceName write SetServiceName;
property ROMessage : TROBinMessage read FMessage write SetMessage;
property ROChannel : TROWinInetHTTPChannel read FChannel write SetChannel;
end; end;
implementation implementation
@ -61,6 +66,7 @@ uses
constructor TUCROConn.Create(AOwner: TComponent); constructor TUCROConn.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FRemoteService := TRORemoteService.Create(nil);
FDataStreamer := TDABin2DataStreamer.Create(nil); FDataStreamer := TDABin2DataStreamer.Create(nil);
FDataAdapter := TDARemoteDataAdapter.Create(nil); FDataAdapter := TDARemoteDataAdapter.Create(nil);
FDataAdapter.DataStreamer := FDataStreamer; FDataAdapter.DataStreamer := FDataStreamer;
@ -69,6 +75,7 @@ end;
destructor TUCROConn.Destroy; destructor TUCROConn.Destroy;
begin begin
FreeAndNil(FRemoteService);
FreeAndNil(FDataAdapter); FreeAndNil(FDataAdapter);
FreeAndNil(FDataStreamer); FreeAndNil(FDataStreamer);
inherited; inherited;
@ -87,6 +94,11 @@ begin
Result := ''; Result := '';
end; end;
function TUCROConn.GetServiceName: String;
begin
Result := FRemoteService.ServiceName;
end;
function TUCROConn.GetTransObjectName: String; function TUCROConn.GetTransObjectName: String;
begin begin
Result := ''; Result := '';
@ -102,11 +114,12 @@ begin
inherited Notification(AComponent, Operation); inherited Notification(AComponent, Operation);
end; end;
procedure TUCROConn.SetRemoteService(const Value: TRORemoteService); procedure TUCROConn.RefreshROConnection;
begin begin
FRemoteService := Value; with FRemoteService do
if Assigned(FRemoteService) then
begin begin
FRemoteService.Message := FMessage;
FRemoteService.Channel := FChannel;
with FDataAdapter do with FDataAdapter do
begin begin
RemoteService := FRemoteService; RemoteService := FRemoteService;
@ -118,6 +131,23 @@ begin
end; end;
end; end;
procedure TUCROConn.SetChannel(const Value: TROWinInetHTTPChannel);
begin
FChannel := Value;
RefreshROConnection;
end;
procedure TUCROConn.SetMessage(const Value: TROBinMessage);
begin
FMessage := Value;
RefreshROConnection;
end;
procedure TUCROConn.SetServiceName(const Value: String);
begin
FRemoteService.ServiceName := Value;
end;
procedure TUCROConn.UCExecSQL(FSQL: String); procedure TUCROConn.UCExecSQL(FSQL: String);
begin begin
(FRemoteService as IsrvUsuarios).SQLExecuteCommand(FSQL); (FRemoteService as IsrvUsuarios).SQLExecuteCommand(FSQL);

View File

@ -3,14 +3,12 @@ unit uIDataModuleUsuarios;
interface interface
uses uses
UCBase, UCDataConnector, UCSettings; UCBase, UCSettings;
type type
IDataModuleUsuarios = interface IDataModuleUsuarios = interface
['{F2D2E969-5E87-42DE-A550-E839C4607C72}'] ['{35907569-6900-4567-91AC-4EAC14F3D43B}']
procedure InicializarUserControl (AUserControl : TUserControl); procedure InicializarUserControl (AUserControl : TUserControl);
function GetDataConnector : TUCDataConnector;
property DataConnector : TUCDataConnector read GetDataConnector;
end; end;
implementation implementation

View File

@ -15,6 +15,7 @@ object fEditorLogin: TfEditorLogin
OldCreateOrder = False OldCreateOrder = False
Position = poScreenCenter Position = poScreenCenter
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy
OnShow = FormShow OnShow = FormShow
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13

View File

@ -31,6 +31,7 @@ type
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private private
FController : IUsuariosController; FController : IUsuariosController;
FIntentos : Integer; FIntentos : Integer;
@ -96,6 +97,11 @@ begin
FIntentos := 0; FIntentos := 0;
end; end;
procedure TfEditorLogin.FormDestroy(Sender: TObject);
begin
FController := NIL;
end;
procedure TfEditorLogin.FormShow(Sender: TObject); procedure TfEditorLogin.FormShow(Sender: TObject);
begin begin
Self.Caption := Self.Caption + ' - ' + AppFactuGES.AppVersion; Self.Caption := Self.Caption + ' - ' + AppFactuGES.AppVersion;

View File

@ -3,51 +3,141 @@ unit uFactuGES_App;
interface interface
uses uses
SysUtils, Classes, Forms, uUsuarios, uBizEmpresas, SysUtils, Classes, Forms, uUsuarios, uBizEmpresas, uControllerBase,
uEmpresasController, JclFileUtils, uUsuariosController; uEmpresasController, JclFileUtils, uUsuariosController, uHostManager;
type type
TAppFactuGES = class(TObject) TDoLoadModulesEvent = procedure;
private TDoMainFormEvent = procedure;
FAppInfo : TJclFileVersionInfo;
FEmpresasController : IEmpresasController; IAppSplashForm = interface
FUsuariosController: IUsuariosController; ['{9905DF57-4476-42E6-A7CD-B1479A84E220}']
FEmpresaActiva: IBizEmpresa; procedure Show;
function GetAppForm: TCustomForm; procedure Hide;
procedure Update;
function GetMensaje: String;
procedure SetMensaje(const AMensaje : String);
property Mensaje : String read GetMensaje write SetMensaje;
end;
IAppFactuGES = interface
['{FB6A0F3C-C1D1-462D-AFD4-2A368F85E920}']
function GetMainForm: TCustomForm;
function GetEmpresasController: IEmpresasController; function GetEmpresasController: IEmpresasController;
function GetUsuariosController: IUsuariosController; function GetUsuariosController: IUsuariosController;
function GetAppName: String; function GetAppName: String;
function GetAppVersion: String; function GetAppVersion: String;
function GetUsuarioActivo: TUsuario; function GetUsuarioActivo: TUsuario;
protected function GetEmpresaActiva: IBizEmpresa;
procedure InitializeInstance; virtual; function GetModuleManager : THostManager;
procedure DestroyInstance; virtual; function GetTerminated: Boolean;
public
class function NewInstance: TObject; override; function GetLoadModulesEvent : TDoLoadModulesEvent;
procedure FreeInstance; override; procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
class function RefCount: Integer;
procedure CambarEmpresa(const AIDEmpresa : Integer); function GetDoMainFormEvent : TDoMainFormEvent;
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
function GetAppSplashForm : IAppSplashForm;
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
procedure CambiarEmpresa(const AIDEmpresa : Integer);
procedure ShowSplashForm;
procedure HideSplashForm;
procedure Run;
procedure Terminate;
property AppVersion : String read GetAppVersion; property AppVersion : String read GetAppVersion;
property AppName : String read GetAppName; property AppName : String read GetAppName;
property AppForm : TCustomForm read GetAppForm; property MainForm : TCustomForm read GetMainForm;
property EmpresaActiva : IBizEmpresa read FEmpresaActiva; property EmpresaActiva : IBizEmpresa read GetEmpresaActiva;
property UsuarioActivo : TUsuario read GetUsuarioActivo; property UsuarioActivo : TUsuario read GetUsuarioActivo;
property EmpresasController : IEmpresasController read GetEmpresasController; property EmpresasController : IEmpresasController read GetEmpresasController;
property UsuariosController : IUsuariosController read GetUsuariosController; property UsuariosController : IUsuariosController read GetUsuariosController;
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
property ModuleManager : THostManager read GetModuleManager;
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
property Terminated : Boolean read GetTerminated;
end;
TAppFactuGES = class(TInterfacedObject, IAppFactuGES)
private
FAppInfo : TJclFileVersionInfo;
FEmpresasController : IEmpresasController;
FUsuariosController: IUsuariosController;
FEmpresaActiva: IBizEmpresa;
FAppSplashForm : IAppSplashForm;
FHostManager : THostManager;
FTerminated : Boolean;
FDoMainFormEvent: TDoMainFormEvent;
FDoLoadModulesEvent: TDoMainFormEvent;
function GetMainForm: TCustomForm;
function GetEmpresasController: IEmpresasController;
function GetUsuariosController: IUsuariosController;
function GetAppName: String;
function GetAppVersion: String;
function GetUsuarioActivo: TUsuario;
function GetEmpresaActiva: IBizEmpresa;
function GetModuleManager : THostManager;
function GetTerminated: Boolean;
function GetLoadModulesEvent : TDoLoadModulesEvent;
procedure SetLoadModulesEvent (ALoadModulesEvent : TDoLoadModulesEvent);
function GetDoMainFormEvent : TDoMainFormEvent;
procedure SetDoMainFormEvent (AMainFormEvent : TDoMainFormEvent);
function GetAppSplashForm : IAppSplashForm;
procedure SetAppSplashForm (AAppSplashForm : IAppSplashForm);
procedure AfterLoadModule(Sender: TObject; AModuleInfo: TModuleInfo);
procedure RegisterModule(AModuleInfo : TModuleInfo);
protected
procedure DoMainForm;
procedure CargarModulos;
procedure ShowSplashForm;
procedure HideSplashForm;
procedure UpdateSplashForm;
public
constructor Create; virtual;
destructor Destroy; override;
procedure Run;
procedure Terminate;
procedure CambiarEmpresa(const AIDEmpresa : Integer);
property AppVersion : String read GetAppVersion;
property AppName : String read GetAppName;
property MainForm : TCustomForm read GetMainForm;
property EmpresaActiva : IBizEmpresa read GetEmpresaActiva;
property AppSplashForm : IAppSplashForm read GetAppSplashForm write SetAppSplashForm;
property UsuarioActivo : TUsuario read GetUsuarioActivo;
property EmpresasController : IEmpresasController read GetEmpresasController;
property UsuariosController : IUsuariosController read GetUsuariosController;
property ModuleManager : THostManager read GetModuleManager;
property DoMainFormEvent : TDoMainFormEvent read GetDoMainFormEvent write SetDoMainFormEvent;
property DoLoadModulesEvent : TDoLoadModulesEvent read GetLoadModulesEvent write SetLoadModulesEvent;
property Terminated : Boolean read GetTerminated;
end; end;
var var
AppFactuGES : TAppFactuGES = nil; AppFactuGES : IAppFactuGES = nil;
implementation implementation
uses uses
uDataModuleBase, uUsuariosViewRegister, uEmpresasViewRegister; cxControls, uDataModuleBase, uUsuariosViewRegister,
uEmpresasViewRegister;
var procedure TAppFactuGES.CambiarEmpresa(const AIDEmpresa: Integer);
Ref_Count : Integer = 0;
procedure TAppFactuGES.CambarEmpresa(const AIDEmpresa: Integer);
var var
Aux : IBizEmpresa; Aux : IBizEmpresa;
begin begin
@ -60,93 +150,211 @@ begin
end; end;
end; end;
procedure TAppFactuGES.DestroyInstance; procedure TAppFactuGES.CargarModulos;
begin begin
FreeAndNIL(FAppInfo); if not Assigned(FDoLoadModulesEvent) then
raise Exception.Create('Evento para la carga de los módulos de la aplicación no asignado (CargarModulos)');
FDoLoadModulesEvent();
end; end;
procedure TAppFactuGES.FreeInstance; constructor TAppFactuGES.Create;
begin begin
Dec(Ref_Count); FTerminated := False;
if (Ref_Count = 0) then FDoMainFormEvent := NIL;
FDoLoadModulesEvent := NIL;
FAppSplashForm := NIL;
FEmpresaActiva := NIL;
FUsuariosController := NIL; // Se crea la primera vez que se usa
FEmpresasController := NIL; // Se crea la primera vez que se usa
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName);
FHostManager := THostManager.Create(NIL);
with FHostManager do
begin begin
AppFactuGES := NIL; OnAfterLoad := AfterLoadModule;
// Ruta por defecto de los módulos
// Destroy private variables here BPLPath := ExtractFilePath(Application.ExeName) + '\';
DestroyInstance;
inherited FreeInstance;
end; end;
end; end;
function TAppFactuGES.GetAppForm: TCustomForm; destructor TAppFactuGES.Destroy;
begin
FAppSplashForm := NIL;
FHostManager.UnloadModules;
FreeAndNIL(FHostManager);
FEmpresaActiva := NIL;
FUsuariosController := NIL;
FEmpresasController := NIL;
FreeAndNIL(FAppInfo);
inherited;
end;
procedure TAppFactuGES.DoMainForm;
begin
if not Assigned(FDoMainFormEvent) then
raise Exception.Create('Evento para la creación del formulario principal no asignado (DoMainForm)');
FDoMainFormEvent();
end;
function TAppFactuGES.GetMainForm: TCustomForm;
begin begin
Result := Application.MainForm; Result := Application.MainForm;
end; end;
function TAppFactuGES.GetDoMainFormEvent: TDoMainFormEvent;
begin
Result := FDoMainFormEvent;
end;
function TAppFactuGES.GetAppName: String; function TAppFactuGES.GetAppName: String;
begin begin
Result := FAppInfo.ProductName; Result := FAppInfo.ProductName;
end; end;
function TAppFactuGES.GetAppSplashForm: IAppSplashForm;
begin
Result := FAppSplashForm;
end;
function TAppFactuGES.GetAppVersion: String; function TAppFactuGES.GetAppVersion: String;
begin begin
Result := FAppInfo.ProductVersion; Result := FAppInfo.ProductVersion;
end; end;
function TAppFactuGES.GetEmpresaActiva: IBizEmpresa;
begin
Result := FEmpresaActiva;
end;
function TAppFactuGES.GetEmpresasController: IEmpresasController; function TAppFactuGES.GetEmpresasController: IEmpresasController;
begin begin
if not Assigned(FEmpresasController) then
FEmpresasController := TEmpresasController.Create;
Result := FEmpresasController; Result := FEmpresasController;
end; end;
function TAppFactuGES.GetLoadModulesEvent: TDoLoadModulesEvent;
begin
Result := FDoLoadModulesEvent;
end;
function TAppFactuGES.GetModuleManager: THostManager;
begin
Result := FHostManager;
end;
function TAppFactuGES.GetTerminated: Boolean;
begin
Result := FTerminated;
end;
function TAppFactuGES.GetUsuarioActivo: TUsuario; function TAppFactuGES.GetUsuarioActivo: TUsuario;
begin begin
Result := FUsuariosController.CurrentUser; Result := UsuariosController.CurrentUser;
end; end;
function TAppFactuGES.GetUsuariosController: IUsuariosController; function TAppFactuGES.GetUsuariosController: IUsuariosController;
begin begin
if not Assigned(FUsuariosController) then
FUsuariosController := TUsuariosController.Create;
Result := FUsuariosController; Result := FUsuariosController;
end; end;
procedure TAppFactuGES.InitializeInstance; procedure TAppFactuGES.HideSplashForm;
begin begin
FEmpresaActiva := NIL; if not Assigned(FAppSplashForm) then
FAppInfo := TJclFileVersionInfo.Create(Application.ExeName); raise Exception.Create('AppSplashForm no asignado (HideSplashForm)');
FUsuariosController := TUsuariosController.Create;
FEmpresasController := TEmpresasController.Create; FAppSplashForm.Hide;
end; end;
class function TAppFactuGES.NewInstance: TObject; procedure TAppFactuGES.AfterLoadModule(Sender: TObject;
AModuleInfo: TModuleInfo);
begin begin
if (not Assigned(AppFactuGES)) then RegisterModule(AModuleInfo);
end;
procedure TAppFactuGES.RegisterModule(AModuleInfo: TModuleInfo);
begin
AppSplashForm.Mensaje := 'Cargando ''' + AModuleInfo.Module.ModuleName + '''...';
end;
procedure TAppFactuGES.Run;
begin
if UsuariosController.StartLogin then
begin begin
AppFactuGES := TAppFactuGES(inherited NewInstance); ShowHourglassCursor;
// Initialize private variables here try
AppFactuGES.InitializeInstance; ShowSplashForm;
CargarModulos;
DoMainForm;
finally
HideHourglassCursor;
HideSplashForm;
end;
//InicializarUI;
//Application.ProcessMessages;
//Visible := True;
//AplicarPerfil;
// Application.CreateForm();
end; end;
Result := AppFactuGES; Application.Run;
Inc(Ref_Count); Terminate;
end; end;
class function TAppFactuGES.RefCount: Integer; procedure TAppFactuGES.SetDoMainFormEvent(
AMainFormEvent: TDoMainFormEvent);
begin begin
Result := Ref_Count; FDoMainFormEvent := AMainFormEvent;
end; end;
procedure TAppFactuGES.SetAppSplashForm(AAppSplashForm: IAppSplashForm);
begin
FAppSplashForm := AAppSplashForm;
end;
procedure TAppFactuGES.SetLoadModulesEvent(
ALoadModulesEvent: TDoLoadModulesEvent);
begin
FDoLoadModulesEvent := ALoadModulesEvent;
end;
procedure TAppFactuGES.ShowSplashForm;
begin
if not Assigned(FAppSplashForm) then
raise Exception.Create('AppSplashForm no asignado (ShowSplashForm)');
FAppSplashForm.Show;
FAppSplashForm.Update;
end;
procedure TAppFactuGES.Terminate;
begin
ModuleManager.UnloadModules;
FTerminated := True;
end;
procedure TAppFactuGES.UpdateSplashForm;
begin
FAppSplashForm.Update;
end;
initialization initialization
AppFactuGES := TAppFactuGES.Create;
// Pongo esto aquí por ahora // Pongo esto aquí por ahora
uUsuariosViewRegister.RegisterViews; uUsuariosViewRegister.RegisterViews;
uEmpresasViewRegister.RegisterViews; uEmpresasViewRegister.RegisterViews;
finalization finalization
FreeAndNIL(AppFactuGES);
// Pongo esto aquí por ahora // Pongo esto aquí por ahora
uUsuariosViewRegister.UnregisterViews; uUsuariosViewRegister.UnregisterViews;
uEmpresasViewRegister.UnregisterViews; uEmpresasViewRegister.UnregisterViews;
end. end.

View File

@ -31,19 +31,16 @@
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput> <DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\Lib</DCC_DcpOutput> <DCC_DcpOutput>..\Lib</DCC_DcpOutput>
<DCC_Define>DEBUG</DCC_Define> <DCC_Define>DEBUG</DCC_Define>
<DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp</DCC_UnitSearchPath>
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp</DCC_ResourcePath>
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp</DCC_ObjPath>
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp</DCC_IncludePath>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</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"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</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"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages> <Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -58,7 +55,6 @@
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\ApplicationBase\JvCmpD11R..dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD10.dcp" />

View File

@ -1,5 +1,6 @@
object dmConexion: TdmConexion object dmConexion: TdmConexion
OldCreateOrder = False OldCreateOrder = False
OnDestroy = DataModuleDestroy
Height = 177 Height = 177
Width = 121 Width = 121
object ROChannel: TROWinInetHTTPChannel object ROChannel: TROWinInetHTTPChannel

View File

@ -16,13 +16,14 @@ type
ROMessage: TROBinMessage; ROMessage: TROBinMessage;
procedure ROChannelFailure(Sender: TROTransportChannel; procedure ROChannelFailure(Sender: TROTransportChannel;
anException: Exception; var Retry: Boolean); anException: Exception; var Retry: Boolean);
procedure DataModuleDestroy(Sender: TObject);
private private
function GetChannel: TROWinInetHTTPChannel; function GetChannel: TROWinInetHTTPChannel;
function GetMessage: TROBinMessage; function GetMessage: TROBinMessage;
function GetTargetURL: String; function GetTargetURL: String;
procedure SetTargetURL(const Value: String); procedure SetTargetURL(const Value: String);
public public
function HayConexion : Boolean; function HayConexion : Boolean;
function ProbarConexion(const ATargetURL : String): Boolean; function ProbarConexion(const ATargetURL : String): Boolean;
procedure ConfigurarConexion; procedure ConfigurarConexion;
property TargetURL : String read GetTargetURL write SetTargetURL; property TargetURL : String read GetTargetURL write SetTargetURL;
@ -66,6 +67,11 @@ begin
end; end;
end; end;
procedure TdmConexion.DataModuleDestroy(Sender: TObject);
begin
ROChannel.Connected := False;
end;
function TdmConexion.GetChannel: TROWinInetHTTPChannel; function TdmConexion.GetChannel: TROWinInetHTTPChannel;
begin begin
Result := ROChannel; Result := ROChannel;

View File

@ -8,18 +8,42 @@ uses
type type
ISujeto = interface; ISujeto = interface;
IObservador = interface IObservador = interface(IInterface)
['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}'] ['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}']
procedure RecibirAviso(ASujeto: ISujeto); overload; procedure RecibirAviso(ASujeto: ISujeto); overload;
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload;
end; end;
ISujeto = interface ISujeto = interface(IInterface)
['{CDB691CD-D1D6-4F2E-AA34-93B1CD0E6030}'] ['{CDB691CD-D1D6-4F2E-AA34-93B1CD0E6030}']
procedure AddObservador(Observador: IObservador); procedure AddObservador(Observador: IObservador);
procedure DeleteObservador(Observador: IObservador); procedure DeleteObservador(Observador: IObservador);
end; end;
{ ******************* PARA PRUEBAS ******************************************}
IMiInterface = interface(IInterface)
['{C4C3F81D-4318-457C-860A-6034617FE39E}']
function GetRefCount : Integer;
end;
TMiInterfacedObject = class(TObject, IInterface)
protected
FRefCount: Integer;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
function GetRefCount : Integer;
public
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
class function NewInstance: TObject; override;
property RefCount: Integer read FRefCount;
end;
{ ***************************************************************************}
TObservador = class(TInterfacedObject, IObservador) TObservador = class(TInterfacedObject, IObservador)
protected protected
procedure RecibirAviso(ASujeto: ISujeto); overload; virtual; procedure RecibirAviso(ASujeto: ISujeto); overload; virtual;
@ -45,7 +69,74 @@ type
implementation implementation
uses uses
SysUtils; Dialogs, SysUtils;
function InterlockedIncrement(var I: Integer): Integer;
asm
MOV EDX,1
XCHG EAX,EDX
LOCK XADD [EDX],EAX
INC EAX
end;
function InterlockedDecrement(var I: Integer): Integer;
asm
MOV EDX,-1
XCHG EAX,EDX
LOCK XADD [EDX],EAX
DEC EAX
end;
{ TMiInterfacedObject }
procedure TMiInterfacedObject.AfterConstruction;
begin
// Release the constructor's implicit refcount
InterlockedDecrement(FRefCount);
end;
procedure TMiInterfacedObject.BeforeDestruction;
begin
if RefCount <> 0 then
Error(reInvalidPtr);
end;
function TMiInterfacedObject.GetRefCount: Integer;
begin
Result := FRefCount;
end;
// Set an implicit refcount so that refcounting
// during construction won't destroy the object.
class function TMiInterfacedObject.NewInstance: TObject;
begin
Result := inherited NewInstance;
TMiInterfacedObject(Result).FRefCount := 1;
end;
function TMiInterfacedObject.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
if GetInterface(IID, Obj) then
Result := 0
else
Result := E_NOINTERFACE;
end;
function TMiInterfacedObject._AddRef: Integer;
begin
Result := InterlockedIncrement(FRefCount);
ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
end;
function TMiInterfacedObject._Release: Integer;
begin
Result := InterlockedDecrement(FRefCount);
ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
if Result = 0 then
Destroy;
end;
{ TSujeto } { TSujeto }
@ -102,4 +193,5 @@ begin
// //
end; end;
end. end.

View File

@ -1620,4 +1620,8 @@ object dmBase: TdmBase
Left = 184 Left = 184
Top = 16 Top = 16
end end
object JvLogFile: TJvLogFile
Left = 184
Top = 80
end
end end

View File

@ -3,10 +3,10 @@ unit uDataModuleBase;
interface interface
uses uses
Controls, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher, Controls, SyncObjs, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
TBXOffice2003Theme, Classes, ImgList, TBXOffice2003Theme, Classes, ImgList,
DataAbstract4_Intf, uDADataTable, JvAppStorage, JvAppRegistryStorage, cxintl, DataAbstract4_Intf, uDADataTable, JvAppStorage, JvAppRegistryStorage, cxintl,
JvComponentBase, cxIntlPrintSys3; JvComponentBase, cxIntlPrintSys3, JvLogFile;
type type
TdmBase = class(TDataModule) TdmBase = class(TDataModule)
@ -15,21 +15,26 @@ type
TBXSwitcher: TTBXSwitcher; TBXSwitcher: TTBXSwitcher;
cxIntl: TcxIntl; cxIntl: TcxIntl;
cxIntlPrintSys31: TcxIntlPrintSys3; cxIntlPrintSys31: TcxIntlPrintSys3;
JvLogFile: TJvLogFile;
procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject); procedure DataModuleDestroy(Sender: TObject);
private private
FOnThemeChange: TNotifyEvent; FOnThemeChange: TNotifyEvent;
FEscribirLog : TCriticalSection;
procedure IniciarLog;
procedure DetenerLog;
procedure InitStyleManager; procedure InitStyleManager;
procedure OnTBXThemeChange(Sender: TObject); procedure OnTBXThemeChange(Sender: TObject);
procedure LeerConfiguracion; procedure LeerConfiguracion;
public public
procedure EscribirLog(const AMensaje : String);
procedure SalvarConfiguracion; procedure SalvarConfiguracion;
property OnThemeChange: TNotifyEvent read FOnThemeChange write property OnThemeChange: TNotifyEvent read FOnThemeChange write
FOnThemeChange; FOnThemeChange;
end; end;
var var
dmBase: TdmBase; dmBase: TdmBase = nil;
implementation implementation
@ -44,8 +49,7 @@ uses
} }
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject); procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
begin begin
dmConexion := TdmConexion.Create(NIL); IniciarLog;
dmConfiguracion := TdmConfiguracion.Create(NIL);
TBXSwitcher.OnThemeChange := OnTBXThemeChange; TBXSwitcher.OnThemeChange := OnTBXThemeChange;
TBXSetTheme('Office2003'); TBXSetTheme('Office2003');
@ -53,6 +57,17 @@ begin
LeerConfiguracion; LeerConfiguracion;
end; end;
procedure TdmBase.IniciarLog;
begin
FEscribirLog := TCriticalSection.Create;
JvLogFile.Active := False;
JvLogFile.FileName := ExtractFilePath(Application.ExeName) + 'ClientLog.txt';
JvLogFile.AutoSave := True;
JvLogFile.Active := True;
JvLogFile.Clear;
end;
procedure TdmBase.InitStyleManager; procedure TdmBase.InitStyleManager;
begin begin
if not USE_THEMES then if not USE_THEMES then
@ -99,14 +114,22 @@ end;
procedure TdmBase.DataModuleDestroy(Sender: TObject); procedure TdmBase.DataModuleDestroy(Sender: TObject);
begin begin
FreeANDNIL(dmConfiguracion); DetenerLog;
FreeAndNil(dmConexion);
end; end;
initialization procedure TdmBase.DetenerLog;
dmBase := TdmBase.Create(NIL); begin
FreeAndNIL(FEscribirLog);
end;
finalization procedure TdmBase.EscribirLog(const AMensaje: String);
dmBase.Free; begin
FEscribirLog.Acquire;
try
JvLogFile.Add(AMensaje);
finally
FEscribirLog.Release;
end;
end;
end. end.

View File

@ -1,10 +1,13 @@
program FactuGES; program FactuGES;
uses uses
ExceptionLog,
Forms, Forms,
Windows, Windows,
SysUtils, SysUtils,
uFactuGES_App, uFactuGES_App,
Dialogs,
uDataModuleBase,
uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal}, uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal},
uMenuUtils in 'Utiles\uMenuUtils.pas', uMenuUtils in 'Utiles\uMenuUtils.pas',
uSplash in 'uSplash.pas' {SplashScreen}, uSplash in 'uSplash.pas' {SplashScreen},
@ -12,35 +15,26 @@ uses
uNavPaneController in 'uNavPaneController.pas', uNavPaneController in 'uNavPaneController.pas',
uNavPaneUtils in 'Utiles\uNavPaneUtils.pas', uNavPaneUtils in 'Utiles\uNavPaneUtils.pas',
uMainMenuController in 'uMainMenuController.pas', uMainMenuController in 'uMainMenuController.pas',
uClienteUtils in 'Utiles\uClienteUtils.pas'; uClienteUtils in 'Utiles\uClienteUtils.pas',
uBootStrap in 'uBootStrap.pas';
{$R *.res} {$R *.res}
var
Version : String;
begin begin
Application.Initialize; Application.Initialize;
Application.ShowMainForm := False;
ReportMemoryLeaksOnShutdown := True; ReportMemoryLeaksOnShutdown := True;
// ¡¡¡Fallo en Delphi 2007!!! // ¡¡¡Fallo en Delphi 2007!!!
// Tengo que ponerlo a false porque si no el formulario principal no se puede poner por encima de los formularios hijos. // Tengo que ponerlo a false porque si no el formulario principal no se puede poner por encima de los formularios hijos.
// Luego, en el formulario principal cambio los paramátros para obligar a que aparezca el icono en la barra de tareas. // Luego, en el formulario principal cambio los paramátros para obligar a que aparezca el icono en la barra de tareas.
Application.MainFormOnTaskbar := False;
Application.Title := AppFactuGES.AppName; uBootStrap.Initialize;
uBootStrap.Run; // <- Aquí dentro esta Application.Run
uBootStrap.Terminate;
{ fActualizacion := TfActualizacion.Create(Application);
try
if fActualizacion.HayConfiguracion then
fActualizacion.Actualizar;
Version := fActualizacion.DarVersion;
finally
FreeAndNIL(fActualizacion);
end;}
Application.CreateForm(TfPantallaPrincipal, fPantallaPrincipal); //Application.Terminate; //<- No descomentar para así ver los Memory Leaks
Application.Run;
Application.Terminate;
end. end.

View File

@ -45,13 +45,14 @@
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_ResourcePath> <DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_ResourcePath>
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_ObjPath> <DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_ObjPath>
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_IncludePath> <DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib</DCC_IncludePath>
<DCC_Define>DEBUG;</DCC_Define> <DCC_Define>DEBUG;EUREKALOG;EUREKALOG_VER6</DCC_Define>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType> <Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject> <BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="DebugSourceDirs">T:\Codigo (Luis Leon)\Source\Modulos\Pedidos de cliente\Controller\</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">2</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.2.2.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.1.4</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="DebugSourceDirs">T:\Codigo (Luis Leon)\Source\Modulos\Pedidos de cliente\Controller\</Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">2</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.2.2.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.1.4</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\vclhie100.bpl">Internet Explorer Hosting Support Package</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\applet100.bpl">CodeGear Control Panel Applet Package</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\applet100.bpl">CodeGear Control Panel Applet Package</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -70,6 +71,7 @@
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="uAcercaDe.pas" /> <DCCReference Include="uAcercaDe.pas" />
<DCCReference Include="uBootStrap.pas" />
<DCCReference Include="uMainMenuController.pas" /> <DCCReference Include="uMainMenuController.pas" />
<DCCReference Include="uNavPaneController.pas" /> <DCCReference Include="uNavPaneController.pas" />
<DCCReference Include="uPantallaPrincipal.pas"> <DCCReference Include="uPantallaPrincipal.pas">
@ -86,7 +88,7 @@
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6006 EurekaLog Version=6006
Activate=0 Activate=1
Activate Handle=1 Activate Handle=1
Save Log File=1 Save Log File=1
Foreground Tab=0 Foreground Tab=0
@ -147,7 +149,7 @@ ZipPassword=
PreBuildEvent= PreBuildEvent=
PostSuccessfulBuildEvent= PostSuccessfulBuildEvent=
PostFailureBuildEvent= PostFailureBuildEvent=
ExceptionDialogType=2 ExceptionDialogType=3
Count=0 Count=0
EMail Message Line Count=0 EMail Message Line Count=0
loNoDuplicateErrors=0 loNoDuplicateErrors=0
@ -238,7 +240,7 @@ boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1 boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0 boCallRTLExceptionEvent=0
boCatchHandledExceptions=0 boCatchHandledExceptions=0
loCatchLeaks=1 loCatchLeaks=0
loGroupsSonLeaks=1 loGroupsSonLeaks=1
loHideBorlandLeaks=1 loHideBorlandLeaks=1
loFreeAllLeaks=1 loFreeAllLeaks=1

View File

@ -12,6 +12,7 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Archivos de programa\EurekaLog 6\Delphi11\DIALOG.RES */
/* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */ /* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */
/* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */ /* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */
/* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */ /* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */

View File

@ -8,8 +8,11 @@
resources were bound to the produced executable. resources were bound to the produced executable.
*/ */
/* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */ /* C:\Archivos de programa\EurekaLog 6\Delphi11\DIALOG.RES */
/* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */ /* C:\Codigo Tecsitel\Lib\jvcl\JvXPCore.res */
/* C:\Codigo Tecsitel\Source\Cliente\uSplash.dfm */ /* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */
/* C:\Codigo Tecsitel\Source\Cliente\uAcercaDe.dfm */ /* uAcercaDe.dfm */
/* C:\Codigo Tecsitel\Source\Cliente\uPantallaPrincipal.dfm */ /* uSplash.dfm */
/* uPantallaPrincipal.dfm */
/* uBootStrap.dfm */
/* Unit1.dfm */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,75 @@
unit uBootStrap;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uSplash, uFactuGES_App, StdCtrls;
procedure Initialize;
procedure Run;
procedure Terminate;
implementation
uses
uDataModuleBase, uDataModuleConexion, uDataModuleConfiguracion,
uMainMenuController, uNavPaneController, uPantallaPrincipal;
procedure DoAppLoadModules;
begin
with AppFactuGES.ModuleManager do
begin
LoadModule('FormasPago_plugin.bpl');
LoadModule('TiposIVA_plugin.bpl');
LoadModule('Familias_plugin.bpl');
LoadModule('Contactos_plugin.bpl');
end;
end;
procedure DoAppMainForm;
begin
Application.CreateForm(TfPantallaPrincipal, fPantallaPrincipal);
end;
procedure Initialize;
begin
dmConexion := TdmConexion.Create(NIL);
dmConfiguracion := TdmConfiguracion.Create(NIL);
dmBase := TdmBase.Create(NIL);
AppFactuGES := TAppFactuGES.Create;
with AppFactuGES do
begin
AppSplashForm := TAppSplashForm.Create;
DoMainFormEvent := DoAppMainForm;
DoLoadModulesEvent := DoAppLoadModules;
end;
NavPaneController := TNavPaneController.Create;
MainMenuController := TMainMenuController.Create;
end;
procedure Run;
begin
AppFactuGES.Run;
repeat
//Nada
until AppFactuGES.Terminated;
end;
procedure Terminate;
begin
FreeANDNIL(MainMenuController);
FreeANDNIL(NavPaneController);
AppFactuGES := NIL;
FreeANDNIL(dmBase);
FreeANDNIL(dmConfiguracion);
FreeAndNil(dmConexion);
Application.ProcessMessages
end;
end.

View File

@ -64,7 +64,7 @@ end;
procedure TMainMenuController.CambiarEmpresaClick(Sender: TObject); procedure TMainMenuController.CambiarEmpresaClick(Sender: TObject);
begin begin
AppFactuGES.CambarEmpresa((Sender as TMenuItem).Tag); AppFactuGES.CambiarEmpresa((Sender as TMenuItem).Tag);
end; end;
procedure TMainMenuController.InitMainMenu; procedure TMainMenuController.InitMainMenu;
@ -133,11 +133,5 @@ begin
uMenuUtils.SortMenuByTag(FMainMenu); uMenuUtils.SortMenuByTag(FMainMenu);
end; end;
initialization
MainMenuController := TMainMenuController.Create;
finalization
MainMenuController.Free;
MainMenuController := NIL;
end. end.

View File

@ -220,11 +220,5 @@ begin
FNavigationPane := Value; FNavigationPane := Value;
end; end;
initialization
NavPaneController := TNavPaneController.Create;
finalization
NavPaneController.Free;
NavPaneController := NIL;
end. end.

View File

@ -13,10 +13,12 @@ object fPantallaPrincipal: TfPantallaPrincipal
Menu = HostMenu Menu = HostMenu
OldCreateOrder = False OldCreateOrder = False
Position = poScreenCenter Position = poScreenCenter
Visible = True
WindowState = wsMaximized WindowState = wsMaximized
OnCloseQuery = FormCloseQuery OnCloseQuery = FormCloseQuery
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object pnlContenido: TTBXAlignmentPanel object pnlContenido: TTBXAlignmentPanel
@ -227,11 +229,11 @@ object fPantallaPrincipal: TfPantallaPrincipal
end end
object XPManifest1: TXPManifest object XPManifest1: TXPManifest
Left = 248 Left = 248
Top = 48 Top = 88
end end
object GeneralActionList: TActionList object GeneralActionList: TActionList
Left = 312 Left = 288
Top = 173 Top = 85
object actSalir: TAction object actSalir: TAction
Tag = -9000 Tag = -9000
Category = 'Archivo' Category = 'Archivo'
@ -432,12 +434,6 @@ object fPantallaPrincipal: TfPantallaPrincipal
Top = 181 Top = 181
Bitmap = {} Bitmap = {}
end end
object HostManager: THostManager
MainMenu = HostMenu
OnAfterLoad = HostManagerAfterLoad
Left = 292
Top = 47
end
object StyleManagerButtons: TJvNavPaneStyleManager object StyleManagerButtons: TJvNavPaneStyleManager
Colors.ButtonColorFrom = clWindow Colors.ButtonColorFrom = clWindow
Colors.ButtonColorTo = clWindow Colors.ButtonColorTo = clWindow
@ -487,21 +483,21 @@ object fPantallaPrincipal: TfPantallaPrincipal
'JvNavigationPane.Visible' 'JvNavigationPane.Visible'
'TBXStatusBar1.Visible') 'TBXStatusBar1.Visible')
StoredValues = <> StoredValues = <>
Left = 472 Left = 248
Top = 120 Top = 128
end end
object JvAppRegistryStorage: TJvAppRegistryStorage object JvAppRegistryStorage: TJvAppRegistryStorage
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
Root = 'Software\%APPL_NAME%' Root = 'Software\%APPL_NAME%'
SubStorages = <> SubStorages = <>
Left = 504 Left = 288
Top = 128 Top = 128
end end
object ApplicationEvents: TApplicationEvents object ApplicationEvents: TApplicationEvents
OnException = ApplicationEventsException OnException = ApplicationEventsException
Left = 152 Left = 160
Top = 174 Top = 182
end end
object HostMenu: TJvMainMenu object HostMenu: TJvMainMenu
Images = ModulesSmallImageList Images = ModulesSmallImageList
@ -513,8 +509,8 @@ object fPantallaPrincipal: TfPantallaPrincipal
ImageSize.Height = 0 ImageSize.Height = 0
ImageSize.Width = 0 ImageSize.Width = 0
ItemPainter = JvXPMenuItemPainter1 ItemPainter = JvXPMenuItemPainter1
Left = 384 Left = 248
Top = 256 Top = 168
object Archivo2_OLD: TMenuItem object Archivo2_OLD: TMenuItem
Tag = -9000 Tag = -9000
Caption = 'Archivo' Caption = 'Archivo'
@ -622,8 +618,8 @@ object fPantallaPrincipal: TfPantallaPrincipal
object JvXPMenuItemPainter1: TJvXPMenuItemPainter object JvXPMenuItemPainter1: TJvXPMenuItemPainter
SelectionFrameBrush.Color = 13811126 SelectionFrameBrush.Color = 13811126
SelectionFramePen.Color = 6956042 SelectionFramePen.Color = 6956042
Left = 424 Left = 288
Top = 256 Top = 168
end end
object StatusPanelImageList: TPngImageList object StatusPanelImageList: TPngImageList
PngImages = < PngImages = <
@ -677,8 +673,8 @@ object fPantallaPrincipal: TfPantallaPrincipal
Name = 'PngImage1' Name = 'PngImage1'
Background = clWindow Background = clWindow
end> end>
Left = 267 Left = 251
Top = 333 Top = 213
Bitmap = {} Bitmap = {}
end end
end end

View File

@ -29,7 +29,6 @@ type
JvNavigationPane: TJvNavigationPane; JvNavigationPane: TJvNavigationPane;
pnlMain: TTBXAlignmentPanel; pnlMain: TTBXAlignmentPanel;
JvSyncSplitter1: TJvSyncSplitter; JvSyncSplitter1: TJvSyncSplitter;
HostManager: THostManager;
actLogin: TAction; actLogin: TAction;
StyleManagerButtons: TJvNavPaneStyleManager; StyleManagerButtons: TJvNavPaneStyleManager;
JvFormStorage: TJvFormStorage; JvFormStorage: TJvFormStorage;
@ -84,7 +83,6 @@ type
Perfiles1: TMenuItem; Perfiles1: TMenuItem;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure HostManagerAfterLoad(Sender: TObject; AModuleInfo: TModuleInfo);
procedure Salir1Click(Sender: TObject); procedure Salir1Click(Sender: TObject);
procedure actSalirExecute(Sender: TObject); procedure actSalirExecute(Sender: TObject);
procedure actLoginExecute(Sender: TObject); procedure actLoginExecute(Sender: TObject);
@ -107,6 +105,7 @@ type
procedure Informacindeempresa1Click(Sender: TObject); procedure Informacindeempresa1Click(Sender: TObject);
procedure Usuarios1Click(Sender: TObject); procedure Usuarios1Click(Sender: TObject);
procedure Perfiles1Click(Sender: TObject); procedure Perfiles1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private private
FContenido : TCustomEditor; FContenido : TCustomEditor;
procedure ShowEmbedded(AEditor : ICustomEditor); procedure ShowEmbedded(AEditor : ICustomEditor);
@ -114,11 +113,9 @@ type
procedure AplicarPerfil; procedure AplicarPerfil;
procedure RefrescarUI; procedure RefrescarUI;
procedure InicializarUI; procedure InicializarUI;
procedure CargarModulos;
procedure OnThemeChange(Sender: TObject); procedure OnThemeChange(Sender: TObject);
procedure RegisterModule(AModuleInfo : TModuleInfo);
procedure ExecuteActionMenu(Sender : TObject); procedure ExecuteActionMenu(Sender : TObject);
procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND; procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;
protected protected
function GetWorkPanel : TWinControl; function GetWorkPanel : TWinControl;
procedure CreateParams(var Params: TCreateParams); override; procedure CreateParams(var Params: TCreateParams); override;
@ -159,35 +156,23 @@ procedure TfPantallaPrincipal.FormCreate(Sender: TObject);
begin begin
ApplicationEvents.Activate; ApplicationEvents.Activate;
Caption := AppFactuGES.AppName + ' ' + AppFactuGES.AppVersion; Caption := AppFactuGES.AppName + ' ' + AppFactuGES.AppVersion;
SplashScreen := TSplashScreen.Create(Application) ;
SplashScreen.Show;
JvNavigationPane.StyleManager := dmBase.StyleManager; JvNavigationPane.StyleManager := dmBase.StyleManager;
dmBase.OnThemeChange := Self.OnThemeChange; dmBase.OnThemeChange := Self.OnThemeChange;
Self.OnThemeChange(Self); // Forzar el refresco de los colores del tema activo Self.OnThemeChange(Self); // Forzar el refresco de los colores del tema activo
with HostManager do
begin
BPLPath := ExtractFilePath(Application.ExeName) + '\';
MainMenu := Self.Menu;
MainForm := Self;
OnAfterLoad := HostManagerAfterLoad;
end;
actLogin.Execute; actLogin.Execute;
end; end;
procedure TfPantallaPrincipal.FormDestroy(Sender: TObject); procedure TfPantallaPrincipal.FormDestroy(Sender: TObject);
begin begin
// ReleaseEmbedded; // ReleaseEmbedded;
HostManager.UnloadModules; ApplicationEvents.CancelDispatch;
ApplicationEvents.CancelDispatch;
end; end;
procedure TfPantallaPrincipal.HostManagerAfterLoad(Sender: TObject; procedure TfPantallaPrincipal.FormShow(Sender: TObject);
AModuleInfo: TModuleInfo);
begin begin
RegisterModule(AModuleInfo); InicializarUI;
end; end;
procedure TfPantallaPrincipal.RefrescarUI; procedure TfPantallaPrincipal.RefrescarUI;
@ -212,15 +197,6 @@ begin
TBXStatusBar1.Panels[1].Caption := ''; TBXStatusBar1.Panels[1].Caption := '';
end; end;
procedure TfPantallaPrincipal.RegisterModule(AModuleInfo : TModuleInfo);
var
AModule: TModuleController;
begin
AModule := AModuleInfo.Module;
SplashScreen.Texto := 'Cargando ''' + AModule.ModuleName + '''...';
end;
procedure TfPantallaPrincipal.ReleaseEmbedded; procedure TfPantallaPrincipal.ReleaseEmbedded;
begin begin
if Assigned(FContenido) then if Assigned(FContenido) then
@ -310,7 +286,6 @@ end;
procedure TfPantallaPrincipal.Informacindeempresa1Click(Sender: TObject); procedure TfPantallaPrincipal.Informacindeempresa1Click(Sender: TObject);
begin begin
//
AppFactuGES.EmpresasController.Ver(AppFactuGES.EmpresaActiva); AppFactuGES.EmpresasController.Ver(AppFactuGES.EmpresaActiva);
end; end;
@ -319,14 +294,14 @@ var
AListaEmpresas : IBizEmpresa; AListaEmpresas : IBizEmpresa;
i : Integer; i : Integer;
begin begin
for i := 0 to HostManager.ModulesCount - 1 do for i := 0 to AppFactuGES.ModuleManager.ModulesCount - 1 do
MainMenuController.RegisterModule(HostManager.Modules[i]); MainMenuController.RegisterModule(AppFactuGES.ModuleManager.Modules[i]);
MainMenuController.SortMenuByTag; MainMenuController.SortMenuByTag;
MainMenuController.InitMainMenu; MainMenuController.InitMainMenu;
for i := 0 to HostManager.ModulesCount - 1 do for i := 0 to AppFactuGES.ModuleManager.ModulesCount - 1 do
NavPaneController.RegisterModule(HostManager.Modules[i]); NavPaneController.RegisterModule(AppFactuGES.ModuleManager.Modules[i]);
NavPaneController.InitNavPane; NavPaneController.InitNavPane;
@ -350,28 +325,32 @@ end;
procedure TfPantallaPrincipal.actLoginExecute(Sender: TObject); procedure TfPantallaPrincipal.actLoginExecute(Sender: TObject);
begin begin
HostManager.UnloadModules; //-- HostManager.UnloadModules;
if AppFactuGES.UsuariosController.StartLogin then {-- try
begin if AppFactuGES.UsuariosController.StartLogin then
ShowHourglassCursor; begin
SplashScreen.Update; ShowHourglassCursor;
Application.ProcessMessages; // SplashScreen.Update;
CargarModulos;
try
InicializarUI;
Application.ProcessMessages; Application.ProcessMessages;
Visible := True; CargarModulos;
AplicarPerfil; try
finally InicializarUI;
SplashScreen.Update; Application.ProcessMessages;
SplashScreen.Hide; Visible := True;
FreeAndNIL(SplashScreen); AplicarPerfil;
HideHourglassCursor; finally
end; HideHourglassCursor;
end end;
else end
Application.Terminate; else
Close;
finally
// SplashScreen.Update;
// SplashScreen.Hide;
// SplashScreen.Release;
end;
--}
end; end;
procedure TfPantallaPrincipal.actMenuComprasExecute(Sender: TObject); procedure TfPantallaPrincipal.actMenuComprasExecute(Sender: TObject);
@ -476,56 +455,17 @@ begin
DefaultHandler(Msg); DefaultHandler(Msg);
end; end;
procedure TfPantallaPrincipal.CargarModulos;
begin
HostManager.LoadModule('FormasPago_plugin.bpl');
HostManager.LoadModule('TiposIVA_plugin.bpl');
HostManager.LoadModule('Familias_plugin.bpl');
HostManager.LoadModule('Contactos_plugin.bpl');
// HostManager.LoadModule('Almacenes_plugin.bpl');
// HostManager.LoadModule('Articulos_plugin.bpl');
// HostManager.LoadModule('Inventario_plugin.bpl');
// HostManager.LoadModule('RecibosCliente_plugin.bpl');
// HostManager.LoadModule('RemesasCliente_plugin.bpl');
// HostManager.LoadModule('FacturasCliente_plugin.bpl');
// HostManager.LoadModule('RecibosProveedor_plugin.bpl');
// HostManager.LoadModule('FacturasProveedor_plugin.bpl');
{
HostManager.LoadModule('Presupuestos_plugin.bpl');
HostManager.LoadModule('Montajes_plugin.bpl');
HostManager.LoadModule('PedidosProveedor_plugin.bpl');
HostManager.LoadModule('PedidosCliente_plugin.bpl');
HostManager.LoadModule('AlbaranesProveedor_plugin.bpl');
HostManager.LoadModule('AlbaranesCliente_plugin.bpl');
HostManager.LoadModule('BancaElectronica_plugin.bpl');
HostManager.LoadModule('Comisiones_plugin.bpl');
HostManager.LoadModule('TiendaWeb_plugin.bpl');
HostManager.LoadModule('HistoricoMovimientos_plugin.bpl');
HostManager.LoadModule('RemesasProveedor_plugin.bpl');
HostManager.LoadModule('Referencias_plugin.bpl');
HostManager.LoadModule('Informes_plugin.bpl');
HostManager.LoadModule('InfVentasArticulo_plugin.bpl');
HostManager.LoadModule('InfMargenArticulo_plugin.bpl');
HostManager.LoadModule('PedidosMontaje_plugin.bpl');
HostManager.LoadModule('CobrosMontaje_plugin.bpl');
HostManager.LoadModule('MontajesDetalle_plugin.bpl');
HostManager.LoadModule('MontajesCompleto_plugin.bpl');
}
end;
constructor TfPantallaPrincipal.Create(AOwner: TComponent); constructor TfPantallaPrincipal.Create(AOwner: TComponent);
begin begin
inherited; inherited;
FContenido := NIL; FContenido := NIL;
with AppFactuGES.ModuleManager do
begin
MainMenu := Self.Menu;
MainForm := Self;
end;
with NavPaneController do with NavPaneController do
begin begin
SmallImages := ModulesSmallImageList; SmallImages := ModulesSmallImageList;
@ -579,7 +519,7 @@ procedure TfPantallaPrincipal.actAcercaExecute(Sender: TObject);
begin begin
with TfAcercaDe.Create(NIL) do with TfAcercaDe.Create(NIL) do
try try
HostManager := Self.HostManager; //--HostManager := Self.HostManager;
ShowModal; ShowModal;
finally finally
Free; Free;
@ -623,7 +563,7 @@ begin
//Se libera el contenido que tenga ya que cambiamos de empresa; //Se libera el contenido que tenga ya que cambiamos de empresa;
ReleaseEmbedded; ReleaseEmbedded;
AppFactuGES.CambarEmpresa(JvNavigationPane.ActivePage.Tag); AppFactuGES.CambiarEmpresa(JvNavigationPane.ActivePage.Tag);
RefrescarUI; RefrescarUI;
end; end;

File diff suppressed because it is too large Load Diff

View File

@ -4,53 +4,76 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, JvGIF, StdCtrls; Dialogs, ExtCtrls, JvGIF, StdCtrls, uFactuGES_App;
type type
TSplashScreen = class(TForm) TSplashScreen = class(TForm)
Panel1: TPanel; Panel1: TPanel;
lblTexto: TLabel; lblTexto: TLabel;
Image1: TImage; Image1: TImage;
procedure Image1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction);
private end;
function GetTexto: String;
procedure SetTexto(const Value: String); TAppSplashForm = class(TInterfacedObject, IAppSplashForm)
{ Private declarations } private
public FSplashScreen: TSplashScreen;
property Texto : String read GetTexto write SetTexto; function GetMensaje: String;
procedure ShowAsAbout; procedure SetMensaje(const AMensaje : String);
public
constructor Create;
destructor Destroy; override;
procedure Show;
procedure Hide;
procedure Update;
property Mensaje : String read GetMensaje write SetMensaje;
end; end;
var
SplashScreen: TSplashScreen;
implementation implementation
{$R *.dfm} {$R *.dfm}
{ TSplashScreen } { TAppSplash }
procedure TSplashScreen.ShowAsAbout; constructor TAppSplashForm.Create;
begin begin
Image1.OnClick := Image1Click; FSplashScreen := TSplashScreen.Create(NIL)
ShowModal;
end; end;
procedure TSplashScreen.Image1Click(Sender: TObject); destructor TAppSplashForm.Destroy;
begin begin
Close; FSplashScreen.Release;
inherited;
end; end;
function TSplashScreen.GetTexto: String; function TAppSplashForm.GetMensaje: String;
begin begin
Result := lblTexto.Caption; FSplashScreen.lblTexto.Caption;
end; end;
procedure TSplashScreen.SetTexto(const Value: String); procedure TAppSplashForm.Hide;
begin begin
lblTexto.Caption := Value; FSplashScreen.Hide;
Self.Update; end;
procedure TAppSplashForm.SetMensaje(const AMensaje: String);
begin
FSplashScreen.lblTexto.Caption := AMensaje;
end;
procedure TAppSplashForm.Show;
begin
FSplashScreen.Show;
end;
procedure TAppSplashForm.Update;
begin
FSplashScreen.Update;
end;
procedure TSplashScreen.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end; end;
end. end.

View File

@ -40,10 +40,10 @@
<DCC_HppOutput>.\</DCC_HppOutput> <DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput> <DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\Lib</DCC_DcpOutput> <DCC_DcpOutput>..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath> <DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\Lib</DCC_ResourcePath> <DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\Lib</DCC_ObjPath> <DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\Lib</DCC_IncludePath> <DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib</DCC_IncludePath>
<DCC_Define>DEBUG</DCC_Define> <DCC_Define>DEBUG</DCC_Define>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>

View File

@ -35,4 +35,4 @@ END
/* C:\Codigo Tecsitel\Source\GUIBase\uDialogBase.dfm */ /* C:\Codigo Tecsitel\Source\GUIBase\uDialogBase.dfm */
/* C:\Codigo Tecsitel\Source\GUIBase\uViewGrid.dfm */ /* C:\Codigo Tecsitel\Source\GUIBase\uViewGrid.dfm */
/* C:\Codigo Tecsitel\Source\GUIBase\GUIBase.res */ /* C:\Codigo Tecsitel\Source\GUIBase\GUIBase.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf7B.tmp */ /* C:\Codigo Tecsitel\Source\GUIBase\GUIBase.drf */

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.res */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Controller\Contactos_controller.drf */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf5D.tmp */

View File

@ -12,9 +12,9 @@ STRINGTABLE
BEGIN BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.DFM */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleContactos.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleClientes.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleProveedores.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\uDataModuleEmpleados.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.res */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Data\Contactos_data.drf */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf5B.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.res */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Model\Contactos_model.drf */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf59.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\uPluginContactos.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\uPluginContactos.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.res */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Plugin\Contactos_plugin.drf */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf61.tmp */

View File

@ -45,4 +45,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionProveedor.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\uViewDatosYSeleccionCliente.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */ /* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.res */
/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Views\Contactos_view.drf */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf5F.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.dfm */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\uDataModuleTiposIVA.dfm */
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Data\TiposIVA_data.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf8B.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf47.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END END
/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */ /* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Model\TiposIVA_model.res */
/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf89.tmp */ /* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf45.tmp */

Binary file not shown.

View File

@ -30,6 +30,8 @@ uses
uSchemaUtilsServer in 'Utiles\uSchemaUtilsServer.pas', uSchemaUtilsServer in 'Utiles\uSchemaUtilsServer.pas',
uServerAppUtils in 'Utiles\uServerAppUtils.pas', uServerAppUtils in 'Utiles\uServerAppUtils.pas',
uSesionesUtils in 'Utiles\uSesionesUtils.pas', uSesionesUtils in 'Utiles\uSesionesUtils.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
uBizProveedoresServer in '..\Modulos\Contactos\Model\uBizProveedoresServer.pas', uBizProveedoresServer in '..\Modulos\Contactos\Model\uBizProveedoresServer.pas',
uBizClientesServer in '..\Modulos\Contactos\Model\uBizClientesServer.pas', uBizClientesServer in '..\Modulos\Contactos\Model\uBizClientesServer.pas',
uBizContactosServer in '..\Modulos\Contactos\Model\uBizContactosServer.pas', uBizContactosServer in '..\Modulos\Contactos\Model\uBizContactosServer.pas',
@ -43,21 +45,19 @@ uses
schTiposIVAServer_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas', schTiposIVAServer_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas',
schTiposIVAClient_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas', schTiposIVAClient_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas',
schUsuariosClient_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas', schUsuariosClient_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas',
schUsuariosServer_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas', schUsuariosServer_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas';
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas';
{$R *.res} {$R *.res}
{$R ..\Servicios\RODLFile.res} {$R ..\Servicios\RODLFile.res}
begin begin
Application.Initialize; Application.Initialize;
ReportMemoryLeaksOnShutdown := True; // ReportMemoryLeaksOnShutdown := True;
Application.Title := 'FactuGES (Servidor)'; Application.Title := 'FactuGES (Servidor)';
Application.ShowMainForm := False;
Application.CreateForm(TfServerForm, fServerForm); Application.CreateForm(TfServerForm, fServerForm);
Application.CreateForm(TdmServer, dmServer); Application.CreateForm(TdmServer, dmServer);
Application.ShowMainForm := False;
Application.Run; Application.Run;
Application.Terminate; Application.Terminate;

View File

@ -1,107 +1,106 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource> <MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation> <DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define> <DCC_Define>RELEASE</DCC_Define>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define> <DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames> <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<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">3</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</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"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">3.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">3.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">domingo, 30 de septiembre de 2007 20:47</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">3</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</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"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">3.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">3.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">domingo, 30 de septiembre de 2007 20:47</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</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> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> <ItemGroup>
<ItemGroup> <DelphiCompile Include="FactuGES_Server.dpr">
<DelphiCompile Include="FactuGES_Server.dpr"> <MainSource>MainSource</MainSource>
<MainSource>MainSource</MainSource> </DelphiCompile>
</DelphiCompile> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <Form>srvEmpresas</Form>
<Form>srvEmpresas</Form> </DCCReference>
</DCCReference> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" /> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" /> <DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas"> <Form>srvContactos</Form>
<Form>srvContactos</Form> </DCCReference>
</DCCReference> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" /> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" /> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" /> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" /> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" /> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" /> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" /> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <Form>srvConfiguracion</Form>
<Form>srvConfiguracion</Form> </DCCReference>
</DCCReference> <DCCReference Include="Configuracion\uConexionBD.pas">
<DCCReference Include="Configuracion\uConexionBD.pas"> <Form>frConexionBD</Form>
<Form>frConexionBD</Form> </DCCReference>
</DCCReference> <DCCReference Include="Configuracion\uConfGeneral.pas">
<DCCReference Include="Configuracion\uConfGeneral.pas"> <Form>frConfGeneral</Form>
<Form>frConfGeneral</Form> </DCCReference>
</DCCReference> <DCCReference Include="Configuracion\uConfiguracion.pas">
<DCCReference Include="Configuracion\uConfiguracion.pas"> <Form>fConfiguracion</Form>
<Form>fConfiguracion</Form> </DCCReference>
</DCCReference> <DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<DCCReference Include="Configuracion\uFrameConfiguracion.pas"> <Form>FrameConfiguracion</Form>
<Form>FrameConfiguracion</Form> </DCCReference>
</DCCReference> <DCCReference Include="srvLogin_Impl.pas">
<DCCReference Include="srvLogin_Impl.pas"> <Form>srvLogin</Form>
<Form>srvLogin</Form> </DCCReference>
</DCCReference> <DCCReference Include="uAcercaDe.pas">
<DCCReference Include="uAcercaDe.pas"> <Form>fAcercaDe</Form>
<Form>fAcercaDe</Form> </DCCReference>
</DCCReference> <DCCReference Include="uDataModuleServer.pas">
<DCCReference Include="uDataModuleServer.pas"> <Form>dmServer</Form>
<Form>dmServer</Form> </DCCReference>
</DCCReference> <DCCReference Include="uServerMainForm.pas">
<DCCReference Include="uServerMainForm.pas"> <Form>fServerForm</Form>
<Form>fServerForm</Form> </DCCReference>
</DCCReference> <DCCReference Include="Utiles\RegExpr.pas"/>
<DCCReference Include="Utiles\RegExpr.pas" /> <DCCReference Include="Utiles\uBusinessUtils.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas" /> <DCCReference Include="Utiles\uDatabaseUtils.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas" /> <DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas" /> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" /> <DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" /> <DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uServerAppUtils.pas" /> <DCCReference Include="Utiles\uSesionesUtils.pas"/>
<DCCReference Include="Utiles\uSesionesUtils.pas" /> </ItemGroup>
</ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN BEGIN
VALUE "FileVersion", "3.0.0.0\0" VALUE "FileVersion", "3.0.0.0\0"
VALUE "ProductVersion", "3.0.0.0\0" VALUE "ProductVersion", "3.0.0.0\0"
VALUE "CompileDate", "miércoles, 17 de octubre de 2007 19:00\0" VALUE "CompileDate", "lunes, 22 de octubre de 2007 0:05\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -7,6 +7,7 @@ uses
procedure ShowBalloonHint(const AMensaje: String; ABalloonIcon: TBalloonFlags); procedure ShowBalloonHint(const AMensaje: String; ABalloonIcon: TBalloonFlags);
implementation implementation
uses uses
@ -25,5 +26,6 @@ begin
end; end;
end; end;
end. end.

View File

@ -3,12 +3,10 @@ unit uDataModuleServer;
interface interface
uses uses
SysUtils, Classes, uDAEngine, uDAClasses, uDADriverManager, SysUtils, Classes, SyncObjs, uDAEngine, uDAIBXDriver, JvLogFile, uROSessions,
uROClient, uROBinMessage, uROServer, uROIndyTCPServer, uROIndyHTTPServer, JvComponentBase, JvAppStorage, JvAppRegistryStorage, uDAClasses,
uROSessions, uDADataTable, uDABINAdapter, IBSQLMonitor, JvComponent, uDADriverManager, uROClient, uROBinMessage, uROServer, uROIndyTCPServer,
JvAppStorage, JvAppRegistryStorage, uDAInterfaces, uROIndyHTTPServer, uDAInterfaces;
JvComponentBase, uROEventRepository,
SyncObjs, JvLogFile, uDAIBXDriver, uDAADODriver;
const const
SERVER_PORT = '8099'; // Puerto por defecto SERVER_PORT = '8099'; // Puerto por defecto

View File

@ -13,7 +13,6 @@ object fServerForm: TfServerForm
Font.Style = [] Font.Style = []
OldCreateOrder = False OldCreateOrder = False
Position = poScreenCenter Position = poScreenCenter
OnCreate = FormCreate
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object JvGradient1: TJvGradient object JvGradient1: TJvGradient
@ -1065,6 +1064,7 @@ object fServerForm: TfServerForm
object TrayIcon1: TTrayIcon object TrayIcon1: TTrayIcon
BalloonFlags = bfInfo BalloonFlags = bfInfo
PopupMenu = PopupMenu1 PopupMenu = PopupMenu1
Visible = True
Left = 240 Left = 240
Top = 208 Top = 208
end end

View File

@ -7,7 +7,7 @@ uses
uROClient, uROPoweredByRemObjectsButton, uROClientIntf, uROServer, uROClient, uROPoweredByRemObjectsButton, uROClientIntf, uROServer,
uROBinMessage, uROIndyHTTPServer, uROIndyTCPServer, frxClass, frxPreview, uROBinMessage, uROIndyHTTPServer, uROIndyTCPServer, frxClass, frxPreview,
JvAppInst, JvComponentBase, ExtCtrls, JvExControls, JvGradient, XPMan, JvAppInst, JvComponentBase, ExtCtrls, JvExControls, JvGradient, XPMan,
ActnList, Menus, JvGIF; ActnList, Menus, JvGIF, AppEvnts;
type type
TfServerForm = class(TForm) TfServerForm = class(TForm)
@ -35,7 +35,6 @@ type
procedure actCerrarExecute(Sender: TObject); procedure actCerrarExecute(Sender: TObject);
procedure actRestartExecute(Sender: TObject); procedure actRestartExecute(Sender: TObject);
procedure actOpcionesExecute(Sender: TObject); procedure actOpcionesExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure actAcercaExecute(Sender: TObject); procedure actAcercaExecute(Sender: TObject);
procedure actConexionesExecute(Sender: TObject); procedure actConexionesExecute(Sender: TObject);
procedure JvAppInstances1CmdLineReceived(Sender: TObject; procedure JvAppInstances1CmdLineReceived(Sender: TObject;
@ -52,7 +51,7 @@ var
implementation implementation
uses uses
uDataModuleServer, uConfiguracion, uAcercaDe; uDataModuleServer, uConfiguracion, uAcercaDe, uServerAppUtils;
{$R *.dfm} {$R *.dfm}
@ -82,20 +81,15 @@ procedure TfServerForm.actOpcionesExecute(Sender: TObject);
var var
AForm : TForm; AForm : TForm;
begin begin
AForm := TfConfiguracion.Create(NIL); AForm := TfConfiguracion.Create(Application);
try try
AForm.ShowModal; AForm.ShowModal;
finally finally
AForm.Free; AForm.Release;
actRestart.Execute; actRestart.Execute;
end; end;
end; end;
procedure TfServerForm.FormCreate(Sender: TObject);
begin
TrayIcon1.Visible := True;
end;
procedure TfServerForm.JvAppInstances1CmdLineReceived(Sender: TObject; procedure TfServerForm.JvAppInstances1CmdLineReceived(Sender: TObject;
CmdLine: TStrings); CmdLine: TStrings);
begin begin
@ -104,11 +98,11 @@ end;
procedure TfServerForm.actAcercaExecute(Sender: TObject); procedure TfServerForm.actAcercaExecute(Sender: TObject);
begin begin
with TfAcercaDe.Create(NIL) do with TfAcercaDe.Create(Application) do
try try
ShowModal; ShowModal;
finally finally
Free; Release;
end; end;
end; end;