Publication par le contexte (publish/subscribe)

De Wiki1000
Révision datée du 1 juillet 2014 à 09:43 par Syfre (discussion | contributions) (Page créée avec « Le contexte utilisateur publie certains évènements. Ces messages sont publiés sous le sujet : //sys/nom_de_l_évènement {|class="wikitable" |- !Evènement !Déclen... »)
(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

 Handlers = Class(TitObject)
 public
   Procedure HandlerDatabaseChange(const iTopic:string; const iEvent:Variant);
   Procedure HandlerSocietyChange(const iTopic:string; const iEvent:Variant);
   Class Procedure RegisterHandlers;
 end;

Implementation

{Handlers}

Procedure Handlers.HandlerDatabaseChange(const iTopic:string; const iEvent:Variant); //Procedure HandlerDatabaseChange(const iTopic:string; iEvent:Variant); begin

 ShowMessage('DatabaseChange');

end;

Procedure Handlers.HandlerSocietyChange(const iTopic:string; const iEvent:Variant); //Procedure HandlerSocietyChange(const iTopic:string; const iEvent:Variant); begin

 ShowMessage('SocietyChange');

end;

Class Procedure Handlers.RegisterHandlers; //Class Procedure RegisterHandlers; var inst:Handlers; begin

 inst := UserContext.getObject('handlers');
 if not Assigned(inst) then
  begin
    inst := Handlers.Create;
    UserContext.SetObject('handlers',inst);
    inst.subscribe('//sys/AfterDatabaseChange','HandlerDatabaseChange');
    inst.subscribe('//sys/AfterShareContextChange','HandlerSocietyChange');
  end;

end;


end. </source>

Voir aussi :