|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Salut !
Je tente d'ajouter du code dans delphi ... A la création d'un projet avec les options par défaut, j'obtient 5 unités : Test_unit, TestAdm_unit, TestBM_unit, TestRM_unit, et TestWM_unit Pour l'instant, j'ai essayé de mettre du code un peu partout ... et rien ... ca ne modifie pas l'exécution de la DLL ... (j'ai vérifié, c'est la bonne DLL qui tourne !) Si je veux mettre du code commun à tous les services (voire uniquement ceux du XMLModule "TestWM", par exemple sur BeforeDispatch, dans quelle unité dois-je écrire l'évenement ? Suis-je obligé de créer tous les TXMLComponent ? Si j'en pose un, dois-je renseigner toutes les propriétés ? Dois-je poser un DacDatabase ? Merci :o |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : avril 2003 Messages : 123 ![]() |
1 / Chacune des unités de Delphi correspondent à un module de XmlRad
2 / Pas de DacDatabase 3 / Sur une unité par exemple TestWM_unit qui correspnd au module TestWN, tu pose un composant XmlComponent de la palette XML dans Delphi (!!! celui avec la petit roue) et tu le nomme comme le service de XMLRAD, ainsi chaque composant XML de ton unité (module) correspond à un service. 4 / Dans le gestionnaire d'évènement de ce composant tu choisis un évènement sur lequel tu veux faire une action par exemple un message d'execption sur le Before_xmlgram : raise Exception.Create('Mauvaise Saisie d''une chaine de caractères'); 5 / tu fais un iisreset pour killer la dll en cours 6 / tu compiler ton projet sous delphi, ta Dll est refaite 7/ et hop tu lances ton projet ! ça devrait le faire !
__________________
Température de l'eau : 28 ° Température extérieure : 32° Température au fond du verre : 50° ~ 55° ------ Mangez des bananes ---------- |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Merci
Par contre est-il possible de changer l'action dans le BeforeDispatch J'ai trouvé un bout de code dans le forum : Code :
XMLRequest.Context.SetValue('Action', NouvelleAction);
|
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Après quelques tests, je m'apperçois que j'arrive à lancer un autre service avec XMLCollection.Execute(NouvelleAction);
Cependant, l'ancienne action s'exécute toujours ... Si je positionne Handled à true, elle ne s'exécute plus, mais je pers le contexte ... |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() |
XMLCollection.Execute('Service'); "empile" l'exécution d'un autre xmlservice.
Je pense que tu peux essayer d'écrire du code dans le BeforeXMLService en mettant à jour le Context.Values['NextAction'], et en passant le paramètre Handled à True
__________________
Nicolas |
|
|
00
|
|
|
#6 | ||||
|
Membre habitué
![]() Inscription : juin 2003 Messages : 112 ![]() |
Merci de ta réponse.
En fait, mon problème était que si je faisais : Code :
C'est tout bete, j'ai remplacé par Code :
|
||||
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() |
C'est un plaisir
__________________
Nicolas |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com