Repaso de fugas de memoria OK Cliente

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@154 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
roberto 2007-11-22 19:09:07 +00:00
parent 6c101f11e6
commit 9bc00d039e
31 changed files with 420 additions and 51 deletions

View File

@ -8,30 +8,27 @@ uses
type type
ISujeto = interface; ISujeto = interface;
IObservador = interface(IInterface) IObservador = interface (IInterface)
['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}'] ['{679D5CF2-D5DC-4A52-9FF3-04AD91402483}']
procedure AddSujeto(Sujeto: ISujeto);
procedure DeleteSujeto(Sujeto: ISujeto);
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(IInterface) 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 ******************************************} { ******************* PARA PRUEBAS ******************************************}
IMiInterface = interface(IInterface)
['{C4C3F81D-4318-457C-860A-6034617FE39E}']
function GetRefCount : Integer;
end;
TMiInterfacedObject = class(TObject, IInterface) TMiInterfacedObject = class(TObject, IInterface)
protected protected
FRefCount: Integer; FRefCount: Integer;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall; function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall; function _Release: Integer; virtual; stdcall;
function GetRefCount : Integer; function GetRefCount : Integer;
public public
procedure AfterConstruction; override; procedure AfterConstruction; override;
@ -40,16 +37,31 @@ type
property RefCount: Integer read FRefCount; property RefCount: Integer read FRefCount;
end; end;
TMiInterfacedObject2 = class(TDataModule) //, IInterface)
end;
{ ***************************************************************************} { ***************************************************************************}
TObservador = class(TInterfacedObject, IObservador) TObservador = class(TObject, IObservador)
private
fSujetos: IInterfaceList;
protected protected
FRefCount: Integer;
procedure RecibirAviso(ASujeto: ISujeto); overload; virtual; procedure RecibirAviso(ASujeto: ISujeto); overload; virtual;
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; virtual; abstract; procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); overload; virtual; abstract;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
function GetRefCount : Integer;
public
constructor Create; virtual;
procedure AddSujeto(Sujeto: ISujeto);
procedure DeleteSujeto(Sujeto: ISujeto);
destructor Destroy; override;
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
class function NewInstance: TObject; override;
property RefCount: Integer read FRefCount;
end; end;
TSujeto = class(TInterfacedObject, ISujeto) TSujeto = class(TInterfacedObject, ISujeto)
@ -100,8 +112,8 @@ end;
procedure TMiInterfacedObject.BeforeDestruction; procedure TMiInterfacedObject.BeforeDestruction;
begin begin
if RefCount <> 0 then // if RefCount <> 0 then
Error(reInvalidPtr); // Error(reInvalidPtr);
end; end;
function TMiInterfacedObject.GetRefCount: Integer; function TMiInterfacedObject.GetRefCount: Integer;
@ -146,6 +158,7 @@ end;
procedure TSujeto.addObservador(Observador: IObservador); procedure TSujeto.addObservador(Observador: IObservador);
begin begin
FObservadores.Add(Observador); FObservadores.Add(Observador);
Observador.AddSujeto(Self);
end; end;
procedure TSujeto.AvisarObservadores; procedure TSujeto.AvisarObservadores;
@ -196,7 +209,72 @@ begin
// //
end; end;
function TObservador._AddRef: Integer;
begin
Result := InterlockedIncrement(FRefCount);
// ShowMessage('_AddRef: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
end;
function TObservador._Release: Integer;
begin
Result := InterlockedDecrement(FRefCount);
// ShowMessage('_Release: ' + ClassName + ' - RefCount: ' + IntToStr(FRefCount));
// if (Result = 0)
if (Assigned(fSujetos) and (fSujetos.Count = FRefCount)) then
Destroy;
end;
procedure TObservador.AddSujeto(Sujeto: ISujeto);
begin
FSujetos.Add(Sujeto);
end;
procedure TObservador.AfterConstruction;
begin
// Release the constructor's implicit refcount
InterlockedDecrement(FRefCount);
end;
procedure TObservador.BeforeDestruction;
begin
// if RefCount <> 0 then
// Error(reInvalidPtr);
end;
constructor TObservador.Create;
begin
inherited;
FSujetos := TInterfaceList.Create;
end;
procedure TObservador.DeleteSujeto(Sujeto: ISujeto);
begin
FSujetos.Remove(Sujeto);
end;
destructor TObservador.Destroy;
begin
FSujetos := NIL;
inherited;
end;
function TObservador.GetRefCount: Integer;
begin
Result := FRefCount;
end;
class function TObservador.NewInstance: TObject;
begin
Result := inherited NewInstance;
TObservador(Result).FRefCount := 1;
end;
function TObservador.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
if GetInterface(IID, Obj) then
Result := 0
else
Result := E_NOINTERFACE;
end;
end. end.

View File

@ -91,7 +91,7 @@ type
property ClienteController: IClientesController read GetClienteController write SetClienteController; property ClienteController: IClientesController read GetClienteController write SetClienteController;
property DetallesController: IDetallesAlbaranClienteController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesAlbaranClienteController read GetDetallesController write SetDetallesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -363,6 +363,7 @@ end;
constructor TAlbaranesClienteController.Create; constructor TAlbaranesClienteController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FClienteController := TClientesController.Create; FClienteController := TClientesController.Create;

View File

@ -84,7 +84,7 @@ type
property ProveedorController: IProveedoresController read GetProveedorController write SetProveedorController; property ProveedorController: IProveedoresController read GetProveedorController write SetProveedorController;
property DetallesController: IDetallesAlbaranProveedorController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesAlbaranProveedorController read GetDetallesController write SetDetallesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -476,6 +476,7 @@ end;
constructor TAlbaranesProveedorController.Create; constructor TAlbaranesProveedorController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FProveedorController := TProveedoresController.Create; FProveedorController := TProveedoresController.Create;

View File

@ -48,7 +48,7 @@ type
// procedure AsignarCodigo(AAlmacen: IBizAlmacen); virtual; // procedure AsignarCodigo(AAlmacen: IBizAlmacen); virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -122,6 +122,7 @@ end;
constructor TAlmacenesController.Create; constructor TAlmacenesController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -62,7 +62,7 @@ type
public public
property ProveedoresController: IProveedoresController read GetProveedoresController; property ProveedoresController: IProveedoresController read GetProveedoresController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -301,6 +301,7 @@ end;
constructor TArticulosController.Create; constructor TArticulosController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -45,7 +45,7 @@ type
procedure AsignarDataModule; virtual; procedure AsignarDataModule; virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AComision : IBizComisiones): Boolean; function Eliminar(AComision : IBizComisiones): Boolean;
@ -223,6 +223,7 @@ end;
constructor TComisionesController.Create; constructor TComisionesController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FFacturasClienteController := TFacturasClienteController.Create; FFacturasClienteController := TFacturasClienteController.Create;
end; end;

View File

@ -28,7 +28,7 @@ type
function ValidarGrupoCliente(AGrupoCliente: IBizGrupoCliente): Boolean; function ValidarGrupoCliente(AGrupoCliente: IBizGrupoCliente): Boolean;
procedure AsignarDataModule; virtual; procedure AsignarDataModule; virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AGrupoCliente : IBizGrupoCliente): Boolean; function Eliminar(AGrupoCliente : IBizGrupoCliente): Boolean;
@ -68,6 +68,7 @@ end;
constructor TGruposClienteController.Create; constructor TGruposClienteController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -28,7 +28,7 @@ type
function ValidarGrupoEmpleado(AGrupoEmpleado: IBizGrupoEmpleado): Boolean; function ValidarGrupoEmpleado(AGrupoEmpleado: IBizGrupoEmpleado): Boolean;
procedure AsignarDataModule; virtual; procedure AsignarDataModule; virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AGrupoEmpleado : IBizGrupoEmpleado): Boolean; function Eliminar(AGrupoEmpleado : IBizGrupoEmpleado): Boolean;
@ -68,6 +68,7 @@ end;
constructor TGruposEmpleadoController.Create; constructor TGruposEmpleadoController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -28,7 +28,7 @@ type
function ValidarGrupoProveedor(AGrupoProveedor: IBizGrupoProveedor): Boolean; function ValidarGrupoProveedor(AGrupoProveedor: IBizGrupoProveedor): Boolean;
procedure AsignarDataModule; virtual; procedure AsignarDataModule; virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AGrupoProveedor : IBizGrupoProveedor): Boolean; function Eliminar(AGrupoProveedor : IBizGrupoProveedor): Boolean;
@ -68,6 +68,7 @@ end;
constructor TGruposProveedorController.Create; constructor TGruposProveedorController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -75,7 +75,7 @@ type
property ClienteController: IClientesController read GetClienteController write SetClienteController; property ClienteController: IClientesController read GetClienteController write SetClienteController;
property DetallesController: IDetallesFacturaClienteController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesFacturaClienteController read GetDetallesController write SetDetallesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -493,6 +493,7 @@ end;
constructor TFacturasClienteController.Create; constructor TFacturasClienteController.Create;
begin begin
inherited;
FDataModule := TDataModuleFacturasCliente.Create(Nil); FDataModule := TDataModuleFacturasCliente.Create(Nil);
FClienteController := TClientesController.Create; FClienteController := TClientesController.Create;
FDetallesController := TDetallesFacturaClienteController.Create; FDetallesController := TDetallesFacturaClienteController.Create;

View File

@ -74,7 +74,7 @@ type
property ProveedorController: IProveedoresController read GetProveedorController write SetProveedorController; property ProveedorController: IProveedoresController read GetProveedorController write SetProveedorController;
property DetallesController: IDetallesFacturaProveedorController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesFacturaProveedorController read GetDetallesController write SetDetallesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -485,6 +485,7 @@ end;
constructor TFacturasProveedorController.Create; constructor TFacturasProveedorController.Create;
begin begin
inherited;
FDataModule := TDataModuleFacturasProveedor.Create(Nil); FDataModule := TDataModuleFacturasProveedor.Create(Nil);
FProveedorController := TProveedoresController.Create; FProveedorController := TProveedoresController.Create;
FDetallesController := TDetallesFacturaProveedorController.Create; FDetallesController := TDetallesFacturaProveedorController.Create;

View File

@ -36,7 +36,7 @@ type
procedure ValidarObjetos; virtual; procedure ValidarObjetos; virtual;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AFamilia : IBizFamilia): Boolean; function Eliminar(AFamilia : IBizFamilia): Boolean;
@ -76,6 +76,7 @@ end;
constructor TFamiliasController.Create; constructor TFamiliasController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -33,7 +33,7 @@ type
procedure AsignarDataModule; procedure AsignarDataModule;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(AFormaPago : IBizFormaPago): Boolean; function Eliminar(AFormaPago : IBizFormaPago): Boolean;
@ -99,6 +99,7 @@ end;
constructor TFormasPagoController.Create; constructor TFormasPagoController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FPlazosController := TFormasPagoPlazosController.Create; FPlazosController := TFormasPagoPlazosController.Create;
end; end;

View File

@ -45,7 +45,7 @@ type
public public
property AlmacenesController: IAlmacenesController read GetAlmacenesController write SetAlmacenesController; property AlmacenesController: IAlmacenesController read GetAlmacenesController write SetAlmacenesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Buscar(const ID_ALMACEN: Integer): IBizHistoricoMovimientos; function Buscar(const ID_ALMACEN: Integer): IBizHistoricoMovimientos;
@ -86,6 +86,7 @@ end;
constructor THistoricoMovimientosController.Create; constructor THistoricoMovimientosController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FAlmacenesController := TAlmacenesController.Create; FAlmacenesController := TAlmacenesController.Create;
end; end;

View File

@ -0,0 +1,124 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{a1786710-a18b-49b9-a107-aa4c807d0c03}</ProjectGuid>
</PropertyGroup>
<ItemGroup />
<ItemGroup>
<Projects Include="..\..\Base\Base.dproj" />
<Projects Include="..\..\Cliente\FactuGES.dproj" />
<Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="Controller\HistoricoMovimientos_controller.dproj" />
<Projects Include="Data\HistoricoMovimientos_data.dproj" />
<Projects Include="Model\HistoricoMovimientos_model.dproj" />
<Projects Include="Plugin\HistoricoMovimientos_plugin.dproj" />
<Projects Include="Views\HistoricoMovimientos_view.dproj" />
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject>
</ProjectExtensions>
<Target Name="Base">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="" />
</Target>
<Target Name="Base:Clean">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="Clean" />
</Target>
<Target Name="Base:Make">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="Make" />
</Target>
<Target Name="GUIBase">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="" />
</Target>
<Target Name="GUIBase:Clean">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="Clean" />
</Target>
<Target Name="GUIBase:Make">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="Make" />
</Target>
<Target Name="Contactos_view">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="" />
</Target>
<Target Name="Contactos_view:Clean">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Clean" />
</Target>
<Target Name="Contactos_view:Make">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Make" />
</Target>
<Target Name="HistoricoMovimientos_model">
<MSBuild Projects="Model\HistoricoMovimientos_model.dproj" Targets="" />
</Target>
<Target Name="HistoricoMovimientos_model:Clean">
<MSBuild Projects="Model\HistoricoMovimientos_model.dproj" Targets="Clean" />
</Target>
<Target Name="HistoricoMovimientos_model:Make">
<MSBuild Projects="Model\HistoricoMovimientos_model.dproj" Targets="Make" />
</Target>
<Target Name="HistoricoMovimientos_data">
<MSBuild Projects="Data\HistoricoMovimientos_data.dproj" Targets="" />
</Target>
<Target Name="HistoricoMovimientos_data:Clean">
<MSBuild Projects="Data\HistoricoMovimientos_data.dproj" Targets="Clean" />
</Target>
<Target Name="HistoricoMovimientos_data:Make">
<MSBuild Projects="Data\HistoricoMovimientos_data.dproj" Targets="Make" />
</Target>
<Target Name="HistoricoMovimientos_controller">
<MSBuild Projects="Controller\HistoricoMovimientos_controller.dproj" Targets="" />
</Target>
<Target Name="HistoricoMovimientos_controller:Clean">
<MSBuild Projects="Controller\HistoricoMovimientos_controller.dproj" Targets="Clean" />
</Target>
<Target Name="HistoricoMovimientos_controller:Make">
<MSBuild Projects="Controller\HistoricoMovimientos_controller.dproj" Targets="Make" />
</Target>
<Target Name="HistoricoMovimientos_view">
<MSBuild Projects="Views\HistoricoMovimientos_view.dproj" Targets="" />
</Target>
<Target Name="HistoricoMovimientos_view:Clean">
<MSBuild Projects="Views\HistoricoMovimientos_view.dproj" Targets="Clean" />
</Target>
<Target Name="HistoricoMovimientos_view:Make">
<MSBuild Projects="Views\HistoricoMovimientos_view.dproj" Targets="Make" />
</Target>
<Target Name="HistoricoMovimientos_plugin">
<MSBuild Projects="Plugin\HistoricoMovimientos_plugin.dproj" Targets="" />
</Target>
<Target Name="HistoricoMovimientos_plugin:Clean">
<MSBuild Projects="Plugin\HistoricoMovimientos_plugin.dproj" Targets="Clean" />
</Target>
<Target Name="HistoricoMovimientos_plugin:Make">
<MSBuild Projects="Plugin\HistoricoMovimientos_plugin.dproj" Targets="Make" />
</Target>
<Target Name="FactuGES">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="" />
</Target>
<Target Name="FactuGES:Clean">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="Clean" />
</Target>
<Target Name="FactuGES:Make">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="Make" />
</Target>
<Target Name="FactuGES_Server">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="" />
</Target>
<Target Name="FactuGES_Server:Clean">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Clean" />
</Target>
<Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;Contactos_view;HistoricoMovimientos_model;HistoricoMovimientos_data;HistoricoMovimientos_controller;HistoricoMovimientos_view;HistoricoMovimientos_plugin;FactuGES;FactuGES_Server" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;Contactos_view:Clean;HistoricoMovimientos_model:Clean;HistoricoMovimientos_data:Clean;HistoricoMovimientos_controller:Clean;HistoricoMovimientos_view:Clean;HistoricoMovimientos_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;Contactos_view:Make;HistoricoMovimientos_model:Make;HistoricoMovimientos_data:Make;HistoricoMovimientos_controller:Make;HistoricoMovimientos_view:Make;HistoricoMovimientos_plugin:Make;FactuGES:Make;FactuGES_Server:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -93,7 +93,7 @@ type
property PresupuestosClienteController: IPresupuestosClienteController read GetPresupuestosClienteController write SetPresupuestosClienteController; property PresupuestosClienteController: IPresupuestosClienteController read GetPresupuestosClienteController write SetPresupuestosClienteController;
property PedidosProveedorController: IPedidosProveedorController read GetPedidosProveedorController write SetPedidosProveedorController; property PedidosProveedorController: IPedidosProveedorController read GetPedidosProveedorController write SetPedidosProveedorController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Trasladar(AInventario : IBizInventario; Todos: Boolean): Boolean; function Trasladar(AInventario : IBizInventario; Todos: Boolean): Boolean;
@ -280,6 +280,7 @@ end;
constructor TInventarioController.Create; constructor TInventarioController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FArticulosController := TArticulosInventarioController.Create; FArticulosController := TArticulosInventarioController.Create;
FAlmacenesController := TAlmacenesController.Create; FAlmacenesController := TAlmacenesController.Create;

View File

@ -0,0 +1,134 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{4adf8c8b-c759-4f41-a122-af83878ceedc}</ProjectGuid>
</PropertyGroup>
<ItemGroup />
<ItemGroup>
<Projects Include="..\..\Base\Base.dproj" />
<Projects Include="..\..\Cliente\FactuGES.dproj" />
<Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Articulos\Views\Articulos_view.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="Controller\Inventario_controller.dproj" />
<Projects Include="Data\Inventario_data.dproj" />
<Projects Include="Model\Inventario_model.dproj" />
<Projects Include="Plugin\Inventario_plugin.dproj" />
<Projects Include="Views\Inventario_view.dproj" />
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Target Name="Base">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="" />
</Target>
<Target Name="Base:Clean">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="Clean" />
</Target>
<Target Name="Base:Make">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="Make" />
</Target>
<Target Name="GUIBase">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="" />
</Target>
<Target Name="GUIBase:Clean">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="Clean" />
</Target>
<Target Name="GUIBase:Make">
<MSBuild Projects="..\..\GUIBase\GUIBase.dproj" Targets="Make" />
</Target>
<Target Name="Contactos_view">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="" />
</Target>
<Target Name="Contactos_view:Clean">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Clean" />
</Target>
<Target Name="Contactos_view:Make">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Make" />
</Target>
<Target Name="Articulos_view">
<MSBuild Projects="..\Articulos\Views\Articulos_view.dproj" Targets="" />
</Target>
<Target Name="Articulos_view:Clean">
<MSBuild Projects="..\Articulos\Views\Articulos_view.dproj" Targets="Clean" />
</Target>
<Target Name="Articulos_view:Make">
<MSBuild Projects="..\Articulos\Views\Articulos_view.dproj" Targets="Make" />
</Target>
<Target Name="Inventario_model">
<MSBuild Projects="Model\Inventario_model.dproj" Targets="" />
</Target>
<Target Name="Inventario_model:Clean">
<MSBuild Projects="Model\Inventario_model.dproj" Targets="Clean" />
</Target>
<Target Name="Inventario_model:Make">
<MSBuild Projects="Model\Inventario_model.dproj" Targets="Make" />
</Target>
<Target Name="Inventario_data">
<MSBuild Projects="Data\Inventario_data.dproj" Targets="" />
</Target>
<Target Name="Inventario_data:Clean">
<MSBuild Projects="Data\Inventario_data.dproj" Targets="Clean" />
</Target>
<Target Name="Inventario_data:Make">
<MSBuild Projects="Data\Inventario_data.dproj" Targets="Make" />
</Target>
<Target Name="Inventario_controller">
<MSBuild Projects="Controller\Inventario_controller.dproj" Targets="" />
</Target>
<Target Name="Inventario_controller:Clean">
<MSBuild Projects="Controller\Inventario_controller.dproj" Targets="Clean" />
</Target>
<Target Name="Inventario_controller:Make">
<MSBuild Projects="Controller\Inventario_controller.dproj" Targets="Make" />
</Target>
<Target Name="Inventario_view">
<MSBuild Projects="Views\Inventario_view.dproj" Targets="" />
</Target>
<Target Name="Inventario_view:Clean">
<MSBuild Projects="Views\Inventario_view.dproj" Targets="Clean" />
</Target>
<Target Name="Inventario_view:Make">
<MSBuild Projects="Views\Inventario_view.dproj" Targets="Make" />
</Target>
<Target Name="Inventario_plugin">
<MSBuild Projects="Plugin\Inventario_plugin.dproj" Targets="" />
</Target>
<Target Name="Inventario_plugin:Clean">
<MSBuild Projects="Plugin\Inventario_plugin.dproj" Targets="Clean" />
</Target>
<Target Name="Inventario_plugin:Make">
<MSBuild Projects="Plugin\Inventario_plugin.dproj" Targets="Make" />
</Target>
<Target Name="FactuGES">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="" />
</Target>
<Target Name="FactuGES:Clean">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="Clean" />
</Target>
<Target Name="FactuGES:Make">
<MSBuild Projects="..\..\Cliente\FactuGES.dproj" Targets="Make" />
</Target>
<Target Name="FactuGES_Server">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="" />
</Target>
<Target Name="FactuGES_Server:Clean">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Clean" />
</Target>
<Target Name="FactuGES_Server:Make">
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;Contactos_view;Articulos_view;Inventario_model;Inventario_data;Inventario_controller;Inventario_view;Inventario_plugin;FactuGES;FactuGES_Server" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;Contactos_view:Clean;Articulos_view:Clean;Inventario_model:Clean;Inventario_data:Clean;Inventario_controller:Clean;Inventario_view:Clean;Inventario_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;Contactos_view:Make;Articulos_view:Make;Inventario_model:Make;Inventario_data:Make;Inventario_controller:Make;Inventario_view:Make;Inventario_plugin:Make;FactuGES:Make;FactuGES_Server:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -48,10 +48,10 @@
<DelphiCompile Include="PedidosProveedor_controller.dpk"> <DelphiCompile Include="PedidosProveedor_controller.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\Lib\Articulos_controller.dcp" /> <DCCReference Include="..\Articulos_controller.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" /> <DCCReference Include="..\Base.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" /> <DCCReference Include="..\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\PedidosProveedor_data.dcp" /> <DCCReference Include="..\PedidosProveedor_data.dcp" />
<DCCReference Include="uArticulosPedidoProveedorController.pas" /> <DCCReference Include="uArticulosPedidoProveedorController.pas" />
<DCCReference Include="uDetallesPedidoProveedorController.pas" /> <DCCReference Include="uDetallesPedidoProveedorController.pas" />
<DCCReference Include="uPedidosProveedorController.pas" /> <DCCReference Include="uPedidosProveedorController.pas" />
@ -65,7 +65,6 @@
<DCCReference Include="View\uIEditorSituacionPedidoProveedor.pas" /> <DCCReference Include="View\uIEditorSituacionPedidoProveedor.pas" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]
EurekaLog Version=6006 EurekaLog Version=6006

View File

@ -79,7 +79,7 @@ type
property DetallesController: IDetallesPedidoProveedorController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesPedidoProveedorController read GetDetallesController write SetDetallesController;
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -172,11 +172,13 @@ end;
constructor TPedidosProveedorController.Create; constructor TPedidosProveedorController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FProveedorController := TProveedoresController.Create; FProveedorController := TProveedoresController.Create;
FDetallesController := TDetallesPedidoProveedorController.Create; FDetallesController := TDetallesPedidoProveedorController.Create;
FDetallesController.addObservador(Self); FDetallesController.addObservador(Self);
// Self.addSujeto(FDetallesController);
end; end;
function TPedidosProveedorController.CreateEditor(const AName: String; function TPedidosProveedorController.CreateEditor(const AName: String;
@ -260,10 +262,11 @@ end;
destructor TPedidosProveedorController.Destroy; destructor TPedidosProveedorController.Destroy;
begin begin
inherited;
FDataModule := Nil; FDataModule := Nil;
FProveedorController := Nil; FProveedorController := Nil;
FDetallesController := Nil; FDetallesController := Nil;
inherited;
end; end;
function TPedidosProveedorController.Duplicar( function TPedidosProveedorController.Duplicar(

View File

@ -8,6 +8,7 @@
<Projects Include="..\..\Cliente\FactuGES.dproj" /> <Projects Include="..\..\Cliente\FactuGES.dproj" />
<Projects Include="..\..\GUIBase\GUIBase.dproj" /> <Projects Include="..\..\GUIBase\GUIBase.dproj" />
<Projects Include="..\..\Servidor\FactuGES_Server.dproj" /> <Projects Include="..\..\Servidor\FactuGES_Server.dproj" />
<Projects Include="..\Articulos\Controller\Articulos_controller.dproj" />
<Projects Include="..\Articulos\Views\Articulos_view.dproj" /> <Projects Include="..\Articulos\Views\Articulos_view.dproj" />
<Projects Include="..\Contactos\Views\Contactos_view.dproj" /> <Projects Include="..\Contactos\Views\Contactos_view.dproj" />
<Projects Include="Controller\PedidosProveedor_controller.dproj" /> <Projects Include="Controller\PedidosProveedor_controller.dproj" />
@ -20,7 +21,7 @@
<Borland.Personality>Default.Personality</Borland.Personality> <Borland.Personality>Default.Personality</Borland.Personality>
<Borland.ProjectType /> <Borland.ProjectType />
<BorlandProject> <BorlandProject>
<BorlandProject xmlns=""> <Default.Personality> </Default.Personality> </BorlandProject></BorlandProject> <BorlandProject xmlns=""><Default.Personality></Default.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Target Name="Base"> <Target Name="Base">
<MSBuild Projects="..\..\Base\Base.dproj" Targets="" /> <MSBuild Projects="..\..\Base\Base.dproj" Targets="" />
@ -49,6 +50,15 @@
<Target Name="Contactos_view:Make"> <Target Name="Contactos_view:Make">
<MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Make" /> <MSBuild Projects="..\Contactos\Views\Contactos_view.dproj" Targets="Make" />
</Target> </Target>
<Target Name="Articulos_controller">
<MSBuild Projects="..\Articulos\Controller\Articulos_controller.dproj" Targets="" />
</Target>
<Target Name="Articulos_controller:Clean">
<MSBuild Projects="..\Articulos\Controller\Articulos_controller.dproj" Targets="Clean" />
</Target>
<Target Name="Articulos_controller:Make">
<MSBuild Projects="..\Articulos\Controller\Articulos_controller.dproj" Targets="Make" />
</Target>
<Target Name="Articulos_view"> <Target Name="Articulos_view">
<MSBuild Projects="..\Articulos\Views\Articulos_view.dproj" Targets="" /> <MSBuild Projects="..\Articulos\Views\Articulos_view.dproj" Targets="" />
</Target> </Target>
@ -122,13 +132,13 @@
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" /> <MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
</Target> </Target>
<Target Name="Build"> <Target Name="Build">
<CallTarget Targets="Base;GUIBase;Contactos_view;Articulos_view;PedidosProveedor_model;PedidosProveedor_data;PedidosProveedor_controller;PedidosProveedor_view;PedidosProveedor_plugin;FactuGES;FactuGES_Server" /> <CallTarget Targets="Base;GUIBase;Contactos_view;Articulos_controller;Articulos_view;PedidosProveedor_model;PedidosProveedor_data;PedidosProveedor_controller;PedidosProveedor_view;PedidosProveedor_plugin;FactuGES;FactuGES_Server" />
</Target> </Target>
<Target Name="Clean"> <Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;Contactos_view:Clean;Articulos_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_data:Clean;PedidosProveedor_controller:Clean;PedidosProveedor_view:Clean;PedidosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean" /> <CallTarget Targets="Base:Clean;GUIBase:Clean;Contactos_view:Clean;Articulos_controller:Clean;Articulos_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_data:Clean;PedidosProveedor_controller:Clean;PedidosProveedor_view:Clean;PedidosProveedor_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean" />
</Target> </Target>
<Target Name="Make"> <Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;Contactos_view:Make;Articulos_view:Make;PedidosProveedor_model:Make;PedidosProveedor_data:Make;PedidosProveedor_controller:Make;PedidosProveedor_view:Make;PedidosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make" /> <CallTarget Targets="Base:Make;GUIBase:Make;Contactos_view:Make;Articulos_controller:Make;Articulos_view:Make;PedidosProveedor_model:Make;PedidosProveedor_data:Make;PedidosProveedor_controller:Make;PedidosProveedor_view:Make;PedidosProveedor_plugin:Make;FactuGES:Make;FactuGES_Server:Make" />
</Target> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -126,8 +126,10 @@ inherited fEditorPedidosProveedor: TfEditorPedidosProveedor
Width = 240 Width = 240
end end
inherited edtFechaFinFiltro: TcxDateEdit inherited edtFechaFinFiltro: TcxDateEdit
Left = 349 Left = 371
ExplicitLeft = 349 ExplicitLeft = 371
ExplicitWidth = 294
Width = 294
end end
end end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited TBXAlignmentPanel1: TTBXAlignmentPanel

View File

@ -113,7 +113,7 @@ end;
destructor TfEditorPedidosProveedor.Destroy; destructor TfEditorPedidosProveedor.Destroy;
begin begin
FPedidos := NIL; FPedidos := NIL;
FController := NIL; FController := NIL;
inherited; inherited;
end; end;

View File

@ -77,7 +77,7 @@ type
property ClienteController: IClientesController read GetClienteController write SetClienteController; property ClienteController: IClientesController read GetClienteController write SetClienteController;
property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController; property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Localizar(APresupuestos: IBizPresupuestoCliente; const ID : Integer): Boolean; function Localizar(APresupuestos: IBizPresupuestoCliente; const ID : Integer): Boolean;
@ -215,8 +215,9 @@ end;
constructor TPresupuestosClienteController.Create; constructor TPresupuestosClienteController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
FClienteController := TClientesController.Create; FClienteController := TClientesController.Create;
FDetallesController := TDetallesPresupuestoClienteController.Create; FDetallesController := TDetallesPresupuestoClienteController.Create;
FDetallesController.addObservador(Self); FDetallesController.addObservador(Self);

View File

@ -101,7 +101,7 @@ type
public public
property PagosController: IPagosClienteController read GetPagosController write SetPagosController; property PagosController: IPagosClienteController read GetPagosController write SetPagosController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure RecuperarCliente(AReciboCliente : IBizRecibosCliente); procedure RecuperarCliente(AReciboCliente : IBizRecibosCliente);

View File

@ -96,7 +96,7 @@ type
public public
property PagosController: IPagosProveedorController read GetPagosController write SetPagosController; property PagosController: IPagosProveedorController read GetPagosController write SetPagosController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure RecuperarCliente(AReciboProveedor : IBizRecibosProveedor); procedure RecuperarCliente(AReciboProveedor : IBizRecibosProveedor);

View File

@ -29,7 +29,7 @@ type
procedure AsignarID(AReferencia: IBizReferencia; const IDNuevo: Integer); procedure AsignarID(AReferencia: IBizReferencia; const IDNuevo: Integer);
public public
constructor Create; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Guardar(AReferencia : IBizReferencia): Boolean; virtual; function Guardar(AReferencia : IBizReferencia): Boolean; virtual;
@ -67,6 +67,7 @@ end;
constructor TReferenciasController.Create; constructor TReferenciasController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -58,7 +58,7 @@ type
public public
property RecibosClienteController: IRecibosClienteController read GetRecibosClienteController; property RecibosClienteController: IRecibosClienteController read GetRecibosClienteController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -153,6 +153,7 @@ end;
constructor TRemesasClienteController.Create; constructor TRemesasClienteController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -58,7 +58,7 @@ type
public public
property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController; property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController;
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
function Eliminar(const ID : Integer): Boolean; overload; function Eliminar(const ID : Integer): Boolean; overload;
@ -153,6 +153,7 @@ end;
constructor TRemesasProveedorController.Create; constructor TRemesasProveedorController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

View File

@ -56,7 +56,7 @@ type
procedure AsignarDataModule; procedure AsignarDataModule;
public public
constructor Create; virtual; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure Anadir(ATipoIVA : IBizTipoIVA); procedure Anadir(ATipoIVA : IBizTipoIVA);
@ -103,6 +103,7 @@ end;
constructor TTiposIVAController.Create; constructor TTiposIVAController.Create;
begin begin
inherited;
AsignarDataModule; AsignarDataModule;
end; end;

Binary file not shown.

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN BEGIN
VALUE "FileVersion", "1.0.0.0\0" VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0" VALUE "ProductVersion", "1.0.0.0\0"
VALUE "CompileDate", "miércoles, 21 de noviembre de 2007 16:57\0" VALUE "CompileDate", "jueves, 22 de noviembre de 2007 19:51\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"