unit uBizIntervalos; interface uses uDAInterfaces, uDADataTable, schIntervalosClient_Intf, Classes, DBGrids, uDBSelectionList, DB, uExceptions, Controls; type IBizIntervalos = interface(IIntervalos) ['{534B5822-BD1C-4E40-B291-ECCEA5D18E5D}'] function GetOnIntervaloChanged : TNotifyEvent; procedure SetOnIntervaloChanged (const Value : TNotifyEvent); property OnIntervaloChanged : TNotifyEvent read GetOnIntervaloChanged write SetOnIntervaloChanged; procedure LocalizarIntervalo(const Nombre: String); end; TBizIntervalosDataTableRules = class(TIntervalosDataTableRules, IBizIntervalos) private FOnIntervaloChanged : TNotifyEvent; function GetOnIntervaloChanged : TNotifyEvent; procedure SetOnIntervaloChanged (const Value : TNotifyEvent); protected public property OnIntervaloChanged : TNotifyEvent read GetOnIntervaloChanged write SetOnIntervaloChanged; procedure LocalizarIntervalo(const Nombre: String); end; procedure ValidarIntervalo (const AIntervalo : IBizIntervalos); implementation uses Windows, Dialogs, uDACDSDataTable, SysUtils, uDataModuleBase, uEditorUtils, uDataModuleIntervalos, Variants; procedure ValidarIntervalo (const AIntervalo : IBizIntervalos); begin // end; { TBizIntervalosDataTableRules } { ************************** TBizIntervalosDataTableRules ************************** } function TBizIntervalosDataTableRules.GetOnIntervaloChanged: TNotifyEvent; begin Result := FOnIntervaloChanged; end; procedure TBizIntervalosDataTableRules.LocalizarIntervalo(const Nombre: String); begin Locate(fld_IntervalosNOMBRE, Nombre); if Assigned(FOnIntervaloChanged) then FOnIntervaloChanged(Self); end; procedure TBizIntervalosDataTableRules.SetOnIntervaloChanged(const Value: TNotifyEvent); begin FOnIntervaloChanged := Value; end; initialization RegisterDataTableRules('BizIntervalos', TBizIntervalosDataTableRules); finalization end.