unit uPluginControllerContactos; interface uses uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, ImgList, Controls, PngImageList; type IMCContactos = interface(IInterface) ['{E148CA5A-63A0-4BE8-B634-6E7A92A90F25}'] procedure ListaClientes; procedure ListaProveedores; end; TModuleContactos = class(TModuleController, IMCContactos) actClientes: TAction; actProveedores: TAction; Compras1: TMenuItem; ExtraImages: TPngImageList; LargeImages: TPngImageList; MainMenu: TMainMenu; ModuleActionList: TActionList; Proveedores1: TMenuItem; Resumen1: TMenuItem; SmallImages: TPngImageList; Ventas1: TMenuItem; Obras1: TMenuItem; Instaladores1: TMenuItem; actInstaladores: TAction; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; actVendedores: TAction; Vendedores1: TMenuItem; N4: TMenuItem; procedure actClientesExecute(Sender: TObject); procedure actProveedoresExecute(Sender: TObject); procedure actInstaladoresExecute(Sender: TObject); procedure actVendedoresExecute(Sender: TObject); public procedure ListaClientes; procedure ListaProveedores; end; implementation {$R *.dfm} uses Forms, Dialogs, uGUIBase, uCustomEditor, SysUtils, uEditorClientes, uEditorProveedores, uDataModuleContactos, uEditorUtils, uEditorContactos, uBizContacto, uEditorInstaladores, uEditorVendedores; function GetModule : TModuleController; begin Result := TModuleContactos.Create(NIL); end; exports GetModule name GET_MODULE_FUNC; { ******************************* TModuleContactos ******************************* } procedure TModuleContactos.actClientesExecute(Sender: TObject); begin ListaClientes; end; procedure TModuleContactos.actProveedoresExecute(Sender: TObject); begin ListaProveedores; end; procedure TModuleContactos.ListaClientes; var aObj: IEditorClientes; AClientes : IBizCliente; begin AClientes := dmContactos.GetClientes; aObj := TfEditorClientes.Create(Application); try with aObj do begin Contactos := AClientes; ShowEmbedded; end; finally AClientes := NIL; aObj := NIL; end; end; procedure TModuleContactos.ListaProveedores; var aObj: IEditorProveedores; AProveedores : IBizProveedor; begin AProveedores := dmContactos.GetProveedores; aObj := TfEditorProveedores.Create(Application); try with aObj do begin Contactos := AProveedores; ShowEmbedded; end; finally AProveedores := NIL; aObj := NIL; end; end; procedure TModuleContactos.actInstaladoresExecute(Sender: TObject); var aObj: IEditorInstaladores; AInstaladores : IBizInstalador; begin AInstaladores := dmContactos.GetInstaladores; aObj := TfEditorInstaladores.Create(Application); try with aObj do begin Contactos := AInstaladores; ShowEmbedded; end; finally AInstaladores := NIL; aObj := NIL; end; end; procedure TModuleContactos.actVendedoresExecute(Sender: TObject); var aObj: IEditorVendedores; AVendedores : IBizVendedor; begin AVendedores := dmContactos.GetVendedores; aObj := TfEditorVendedores.Create(Application); try with aObj do begin Contactos := AVendedores; ShowEmbedded; end; finally AVendedores := NIL; aObj := NIL; end; end; initialization RegisterModuleClass(TModuleContactos); finalization UnRegisterModuleClass(TModuleContactos); end.