Publication par le contexte (publish/subscribe)

De Wiki1000
Révision datée du 1 juillet 2014 à 09:50 par Syfre (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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é


<source lang="delphi"> 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. </source>

Voir aussi :