|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Bonjour,
J'ai plusieurs XMLModules dans mon application dont 1 principal qui doit être initialisé pour utiliser les autres XMLModules (j'utilise du code Delphi). Le problème apparaît lorsque je veux utiliser un XMLService d'un XMLModule alors que le XMLModule principal n'a pas encore été initialisé, dans ce cas la variable est à nil. Comment faire pour initialiser manuellement le XMLModule principal de mon application (dans mon exemple ce serait dans le BeforeXMLService d'un service d'un autre module) ? |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
Une idée rapide :
Dans tes modules secondaires, dans le OnBeforeDispatch, tu test si ton XMLModuel principal a déjà été initialisé. Si ce n'est pas le cas, tu invoques une action bidon que tu auras mis au préalable dessus, qui servira juste à ce que ton XMLModule s'initialise. Pour invoquer une action, tu peux utiliser l'instruction Invoke. A+
__________________
Julien C. |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
Pour invoquer un XMLService d'un autre XMLModule, le plus simple reste de faire un
Là, tout se passe bien. Il ne faut pas utiliser .
__________________
Nicolas |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
juste une précision sur ce qu'a dit Nicolas:
peut etre utilisé uniquement quand le XMLService se trouve dans le module courant. Il ne faut pas utiliser la variable globale des modules qui n'est jamais initialisée dans une application XMLRAD
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Alors ca ne fonctionnera pas, mon but est d'utiliser les composants d'accès aux données qui sont sur mon XMLModule principal à partir d'un autre XMLModule mais je ne suis pas sur que le principal est initialisé donc je voulais le faire manuellement mais si je ne peux pas utiliser la variable globale ca n'ira pas.
Après réflexion : J'avais affecté une valeur à la variable globale du module principal dans le OnCreate ... mais s'il y a plusieurs instances de chaque module pour une application web ce n'est pas bon du tout ... ce qui doit être le cas .... Comment faire pour utiliser les composants d'accès aux données d'un autre XMLModule ? |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
J'ai essayé une autre méthode qui semble être correcte, le module est initialisé s'il ne l'a pas encore été :
TMonModule(XMLCollection.GetModule('MonModule')).MonComposantDAccesAuxDonnees
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() |
la dernière méthode est la bonne pour récupérer une instance de module
maintenant si tu veux utiliser les composants d'accès: XMLCollection.GetDatabase('mondatabase') récupère le composant Database XMLCollection.GetQuery('monquery') récupère le composant query les méthodes les plus utiles sont référencées dans l'appendix 12 (programmer's reference): http://xmlrad.com/Manual/Appendix12/index.htm
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Maintenant je n'arrive plus à accéder à ma query,
TMonModule(XMLCollection.GetModule('MonModule')).MaRequete est à une valeur correte mais TMonModule(XMLCollection.GetModule('MonModule')).MaRequete.Query donne "Valeur inacessible", je ne peux pas utiliser XMLCollection.GetQuery('MaRequete') car elle n'est définie que sur le module Delphi. Je suis dans l'evenement BeforeXMLService de mon XMLService, le but final étant de retourner un fichier par SendResponse. Le message d'erreur est "La transaction est active", après je ne plus accéder à tous les autres XMLService de mon application. |
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() |
Citation:
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Oui et le résultat est nil, je pensais que ca venait du fait que cette Query n'existe que dans le source Delphi.
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() |
bon alors essaye plutot
Code :
XMLCollection.GetComponent('maquery');
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com