Bonjour j'essaie de comprendre a quoi sert le XMLRequest.RaiseError
et comment l'utiliser pour cela j'ai essayer de reproduire Validity check dans la demo de toolkit mais je dois dire que je comprend rien![]()
pouriez vous me donner un coup de main ?
Bonjour j'essaie de comprendre a quoi sert le XMLRequest.RaiseError
et comment l'utiliser pour cela j'ai essayer de reproduire Validity check dans la demo de toolkit mais je dois dire que je comprend rien![]()
pouriez vous me donner un coup de main ?
XMLRequest.RaiseError, permet de soulever un exception (équivalent à raise Exception.Create en Delphi, Throw new Exception d'en d'autres langages).
L'avantage c'es que quelquesoit ton langage tu auras cette fonction de disponibles, la migration en sera plus facilité.
d'autre part, la fonction prend 2 paramètres. le premier correspond au message d'erreur proprement dit. On peut aussi utiliser un mot clé qui pourra être traduit avec les ApplicationMessages. (voir http://xmlrad.developpez.com/faq/?pa...eptionLocalise )
l'autre paramètre est utilisé pour rajouter une logitem dans le fichier de log de l'erreur. on s'en sert surtout pour avoir la pile d'appel d'ou est déclenché l'erreur. donc on va mettre par exemple le nom de la méthode.
Ok si je prend comme exemple :
J'ai declaré ErrorName dans le fichier xml application message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Str:= Context.Values['NAME']; if Str = '' then XMLRequest.RaiseError('ErrorName', 'FormName');
Quand je passe dans la fonction j'ai un message d'erreur :
La page XML ne peut pas être affichée
Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.
--------------------------------------------------------------------------------
Un caractère incorrect a été trouvé dans un contenu de texte. Erreur de traitement de la ressource http://localhost/MONAPPLI...
<Date>2005/06/14 13:28:47</Date><LogItems><LogItem><![CDATA[D
comprend pas .
Ca signifie que ton XSL est incorrecte. XMLRAD charge le fichier xsl et le parse avant de passer dans les gestionnaires d'évenements.
Il y a une erreur quelconque dans ton xsl. Il nous faudrait le message d'erreur complet.
c'est tres etonnant car si je ne passe pas dans la fonction je n'ai pas cette erreur :
voici le message :
Défaillance irrémédiable
ErrorName
TMainPr.InsertPrBeforeXMLGram
TXMLGram.DoBeforeXMLGram - Name=InsertPr - FileName=E:\IMPACT\Bin\XML\Main\MainProfil\InsertPr.xmlgram
TXMLGram.Process - Name=InsertPr - FileName=E:\Monapp\Bin\XML\Main\MainPr\InsertPr.xmlgram
TXMLService.CreateDocument - Name=InsertPr
TXMLService.CreateContent - Name=InsertPr
TXMLService.Execute - Name=InsertPr
XMLApp.ExecuteActionComponent
TXMLApplication.XMLCollectionDispatchRequest
TXMLApplication.DispatchRequest.InternalGlobalDispatchRequest
TXMLGram.Process - Name=FormError - FileName=E:\Monapp\Bin\XML\Adm\FormError.xmlgram
TXMLService.CreateDocument - Name=FormError
TXMLService.CreateContent - Name=FormError
TXMLService.Execute - Name=FormError
XMLApp.ExecuteActionComponent
TXMLApplication.XMLCollectionDispatchRequest
est-ce que tu peux nous donner ici le contenu du fichier ApplicationMessages.xml de ton projet.
a mon avis ErrorName doit contenir aucun message d'erreur et ca provoqué la défaillance irrémédiable.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager