unit uEditorElegirPersonaContacto; interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls, Mask, DBCtrls, DB, uDADataTable, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, uIEditorElegirPersonaContacto, uCustomView, uViewBase, uViewBarraSeleccion, JvExControls, JvComponent, DBCGrids, uBizContactosPersonal, uDAInterfaces; type TfEditorElegirPersonaContacto = class(TForm, IEditorElegirPersonaContacto) dsPersonas: TDADataSource; frViewBarraSeleccion1: TfrViewBarraSeleccion; lblTitle: TLabel; lblComments: TLabel; DBCtrlGrid1: TDBCtrlGrid; ePuesto: TDBText; eTelefono: TDBText; eNombre: TDBText; Label1: TLabel; Label2: TLabel; Label3: TLabel; eMovil: TDBText; Label4: TLabel; eFax: TDBText; Label5: TLabel; eEMail: TDBText; procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); procedure DBCtrlGrid1DblClick(Sender: TObject); procedure ComponenteDblClick(Sender: TObject); protected FPersonas: IBizContactoPersonal; function GetPersonas: IBizContactoPersonal; procedure SetPersonas(const Value: IBizContactoPersonal); function GetPersonaSeleccionada: IBizContactoPersonal; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property Personas: IBizContactoPersonal read GetPersonas write SetPersonas; property PersonaSeleccionada: IBizContactoPersonal read GetPersonaSeleccionada; end; implementation {$R *.dfm} uses uDireccionesContactoController; { TfEditorDireccionEntrega } procedure TfEditorElegirPersonaContacto.DBCtrlGrid1DblClick(Sender: TObject); begin frViewBarraSeleccion1.actSeleccionar.Execute; end; procedure TfEditorElegirPersonaContacto.ComponenteDblClick(Sender: TObject); begin DBCtrlGrid1DblClick(Sender); end; procedure TfEditorElegirPersonaContacto.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin ModalResult := mrCancel; end; procedure TfEditorElegirPersonaContacto.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin ModalResult := mrOk; end; function TfEditorElegirPersonaContacto.GetPersonas: IBizContactoPersonal; begin Result := FPersonas; end; function TfEditorElegirPersonaContacto.GetPersonaSeleccionada: IBizContactoPersonal; begin // Devuelvo el mismo objeto que recibo pero con el punto de lectura // posicionado en la dirección elegida. Result := FPersonas; end; function TfEditorElegirPersonaContacto.GetMensaje: String; begin Result := lblComments.Caption; end; procedure TfEditorElegirPersonaContacto.SetPersonas(const Value: IBizContactoPersonal); begin FPersonas := Value; if Assigned(FPersonas) then dsPersonas.DataTable := FPersonas.DataTable else dsPersonas.DataTable := NIL; end; procedure TfEditorElegirPersonaContacto.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; end.