Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/03/2003, 12h48   #1
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
Par défaut Initialisation de XMLModule

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) ?
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2003, 16h53   #2
Membre régulier
 
Inscription : janvier 2003
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 85
Points : 92
Points : 92
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.
Julien C. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2003, 19h15   #3
Membre éclairé
 
Inscription : janvier 2003
Messages : 284
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 284
Points : 311
Points : 311
Envoyer un message via MSN à Nicolas.Cogi
Pour invoquer un XMLService d'un autre XMLModule, le plus simple reste de faire un
Code :
XMLCollection.Execute('NomService');
Là, tout se passe bien.
Il ne faut pas utiliser
.
__________________
Nicolas
Nicolas.Cogi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2003, 22h47   #4
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2003, 14h51   #5
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
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 ?
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2003, 15h15   #6
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
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

Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2003, 15h30   #7
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2003, 15h48   #8
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
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.
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2003, 18h16   #9
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
Citation:
Envoyé par Sylvain Leray
je ne peux pas utiliser XMLCollection.GetQuery('MaRequete') car elle n'est définie que sur le module Delphi.
as-tu essayé au moins ?
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2003, 11h08   #10
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
Oui et le résultat est nil, je pensais que ca venait du fait que cette Query n'existe que dans le source Delphi.
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2003, 10h08   #11
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
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/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h35.


 
 
 
 
Partenaires

Hébergement Web