unit uViewAlbaranRelacionado; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, ExtCtrls, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, ComCtrls, ToolWin, ImgList, PngImageList, ActnList, DB, uDADataTable, uBizAlbaranesCliente; type IViewAlbaranRelacionado = interface(IViewBase) ['{FE0AF619-B4C7-4347-B890-BE8834803B1E}'] function GetAlbaran: IBizAlbaranesCliente; procedure SetAlbaran(const Value: IBizAlbaranesCliente); property Albaran: IBizAlbaranesCliente read GetAlbaran write SetAlbaran; function GetOnAlbaranChanged : TNotifyEvent; procedure SetOnAlbaranChanged (const Value : TNotifyEvent); property OnAlbaranChanged : TNotifyEvent read GetOnAlbaranChanged write SetOnAlbaranChanged; end; TfrViewAlbaranRelacionado = class(TfrViewBase, IViewAlbaranRelacionado) Label5: TLabel; Bevel1: TBevel; ActionList1: TActionList; actElegirAlbaran: TAction; actVerAlbaran: TAction; PngImageList: TPngImageList; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton3: TToolButton; ToolButton2: TToolButton; lblNombre: TLabel; DADataSource: TDADataSource; edtlReferencia: TcxDBTextEdit; procedure actVerAlbaranExecute(Sender: TObject); procedure actVerAlbaranUpdate(Sender: TObject); private FAlbaran : IBizAlbaranesCliente; FOnAlbaranChanged : TNotifyEvent; protected function GetAlbaran: IBizAlbaranesCliente; procedure SetAlbaran(const Value: IBizAlbaranesCliente); function GetOnAlbaranChanged : TNotifyEvent; procedure SetOnAlbaranChanged (const Value : TNotifyEvent); public property Albaran: IBizAlbaranesCliente read GetAlbaran write SetAlbaran; property OnAlbaranChanged : TNotifyEvent read GetOnAlbaranChanged write SetOnAlbaranChanged; end; var frViewAlbaranRelacionado: TfrViewAlbaranRelacionado; implementation uses uDataModuleAlbaranesCliente, schAlbaranesClienteClient_Intf; {$R *.dfm} { TfrViewAlbaranRelacionado } procedure TfrViewAlbaranRelacionado.actVerAlbaranExecute( Sender: TObject); begin FAlbaran.Show; end; procedure TfrViewAlbaranRelacionado.actVerAlbaranUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := Assigned(FAlbaran); end; function TfrViewAlbaranRelacionado.GetAlbaran: IBizAlbaranesCliente; begin Result := FAlbaran; end; procedure TfrViewAlbaranRelacionado.SetAlbaran(const Value: IBizAlbaranesCliente); begin FAlbaran := Value; DADataSource.DataTable := FAlbaran.DataTable; if not FAlbaran.DataTable.Active then FAlbaran.DataTable.Active := True; if Assigned(FOnAlbaranChanged) then FOnAlbaranChanged(Self); end; function TfrViewAlbaranRelacionado.GetOnAlbaranChanged: TNotifyEvent; begin Result := FOnAlbaranChanged; end; procedure TfrViewAlbaranRelacionado.SetOnAlbaranChanged( const Value: TNotifyEvent); begin FOnAlbaranChanged := Value; end; end.