« Publication par l'interface utilisateur (publish/subscribe) » : différence entre les versions
(Page créée avec « L'interface utilisateur, et en particulier les datasets, publie un message lorsqu'un objet est sélectionné. Par défaut, ce message est publié sous le format d'une URL re… ») |
Aucun résumé des modifications |
||
Ligne 9 : | Ligne 9 : | ||
Cette action de publication peut être surchargée au niveau de l'objet en définissant une méthode OnActivateInGUI. Dans ce cas cette méthode est appelé et est responsable de la notification. | Cette action de publication peut être surchargée au niveau de l'objet en définissant une méthode OnActivateInGUI. Dans ce cas cette méthode est appelé et est responsable de la notification. | ||
La signature de cette méthode doit être : | |||
<source lang="delphi">procedure OnActivateGUI;</source> | |||
Exemple : | |||
La méthode OnactivateGUI est redéfinie dans le modèle de la classe et publie le message standard puis un second message spécifique : | |||
<source lang="delphi"> | |||
//Procedure MyClass.OnActivateInGUI; | |||
begin | |||
PublishThisObject; | |||
Publish('anothertopic://','more infos'); | |||
end; | |||
</source> | |||
[[Category:Publish/Subscribe]] | [[Category:Publish/Subscribe]] |
Version du 24 octobre 2011 à 13:50
L'interface utilisateur, et en particulier les datasets, publie un message lorsqu'un objet est sélectionné.
Par défaut, ce message est publié sous le format d'une URL représentant l'objet :
obj://nom_de_classe/oid
le paramètre du message est l'instance de l'objet.
Cette action de publication peut être surchargée au niveau de l'objet en définissant une méthode OnActivateInGUI. Dans ce cas cette méthode est appelé et est responsable de la notification.
La signature de cette méthode doit être :
<source lang="delphi">procedure OnActivateGUI;</source>
Exemple :
La méthode OnactivateGUI est redéfinie dans le modèle de la classe et publie le message standard puis un second message spécifique :
<source lang="delphi">
//Procedure MyClass.OnActivateInGUI; begin
PublishThisObject; Publish('anothertopic://','more infos');
end;
</source>