Publication par le contexte (publish/subscribe)
De Wiki1000
Le contexte utilisateur publie certains évènements.
Ces messages sont publiés sous le sujet :
//sys/nom_de_l_évènement
Evènement | Déclenchement |
---|---|
BeforeDisconnect | |
AfterConnect | |
BeforeDatabaseChange | La base de données par défaut va changer |
AfterDatabaseChange | La base de données par défaut à changé |
AfterShareContextChange | Le contexte société à changé |
unit TestMultisociete; interface Type TRegisterTestMultiSociete = Class(TitObject) public Procedure HandlerDatabaseChange(const iTopic:string; const iEvent:Variant); Procedure HandlerSocietyChange(const iTopic:string; const iEvent:Variant); Class Procedure Initialize; end; Implementation {TRegisterTestMultiSociete} Procedure TRegisterTestMultiSociete.HandlerDatabaseChange(const iTopic:string; const iEvent:Variant); //Procedure HandlerDatabaseChange(const iTopic:string; iEvent:Variant); begin ShowMessage('DatabaseChange'); end; Procedure TRegisterTestMultiSociete.HandlerSocietyChange(const iTopic:string; const iEvent:Variant); //Procedure HandlerSocietyChange(const iTopic:string; const iEvent:Variant); begin ShowMessage('SocietyChange'); end; Class Procedure TRegisterTestMultiSociete.Initialize; //Class Procedure Initialize; var inst:TRegisterTestMultiSociete; begin showMessage('Register'); inst := UserContext.getObject('handlers'); if not Assigned(inst) then begin inst := TRegisterTestMultiSociete.Create; UserContext.SetObject('handlers',inst); inst.subscribe('//sys/AfterDatabaseChange','HandlerDatabaseChange'); inst.subscribe('//sys/AfterShareContextChange','HandlerSocietyChange'); end; end; end.
Voir aussi :