Publication par le contexte (publish/subscribe)
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 :