Bonjour à tous,
Quelqu'un pourrait-il m'expliquer pourquoi la structure du composant standard TApplicationEvents est si compliquée?
D'avance merci
Bob
Version imprimable
Bonjour à tous,
Quelqu'un pourrait-il m'expliquer pourquoi la structure du composant standard TApplicationEvents est si compliquée?
D'avance merci
Bob
8O
Euh... Il a quoi de si compliqué de TApplicationEvents ?
Je ne comprend pas ce que ce MultiCaster vient faire là-dedans
Bob
Salut Bob,
Normalement, lorsque tu as un évènement, un seul "client" peut venir se brancher dessus.
Cette problèmatique est résolvable de diverses manières, mais dans le cas de la gestion de (plusieurs me semble-t-il) TApplicationEvents, c'est le TMultiCaster qui solutionne ce problème.
Merci pour la réponse.
Il y a pourtant des composants spécifiques qui capturent des évènements de l'application (par exemple OnHint) sans pour autant utiliser cette technique. Cela voudrait-il dire que l'on peut rencontrer des incompatibilités entre composants capturant le même évènement?
Bob
J'ai jetté un coup d'oeil (je te répondais de mémoire précédemment), il semblerait que le MultiCaster dans cette unité soit spécialisé dans la gestion de plusieurs TApplicationEvent car effectivement, rien ne nous empeche d'en utiliser plusieurs instances. Il diffuse donc les évènements de l'application vers toutes ces instances.
Merci.
Voilà beaucoup de complication alors que je ne vois pas l'intérêt d’avoir plusieurs instances de ce composant. Je dirais même plus, il devrait bloquer la création d’une seconde instance pour avoir une application bien structurée.
Je reviens à l’origine de ma question. Si je crée un composant capturant plusieurs évènements de l’application, suis-je obligé d’utiliser cette technique ou puis-je faire plus simple?
Bob
Je pense qu'autrement que par curiosité, ou problème bien précis à résoudre, tu n'as pas besoin de remettre en cause la fiabilité des composants natifs de delphi.
Je pense que la conception de ces composants est murement réfléchie. Il m'arrive souvent d'etre stupéfait par la simplicité et l'efficacité de la VCL. On apprend beaucoup en regardant ces sources, pour cette raison tu fais bien de t'y interesser.
Quant à l'utilisation, cesse de t'inquiéter, utilise comme une boite noire, ça fait ce que ça doit faire, ca se débrouille. Pose un TApplicationEvent, assigne les évènements qui t'interessent, et ne te soucis pas d'incompatibilité, tu n'en auras pas à ce niveau là :wink:
Merci des ces conseils