Dans le cadre d'une application d=E9velopp=E9e en windev mobile,
j'interroge via GPRS mon serveur web (une simple page PHP) qui me
renvoi une liste "d'item" que je peux ensuite proposer via une liste
d=E9roulante dans mon application.
Le probl=E8me que je rencontre est le suivant :
En ex=E9cutant le m=EAme code, de mani=E8re compl=E8tement al=E9atoire,
l'application plante mais toujours sur la m=EAme ligne (ou du moins,
toujours en appelant les fonctions XML.... il me semble). Voici un
bout du code incrimin=E9 :
//****************************************************************
source est un buffer
sourceXML est une chaine
SI PAS HTTPRequ=EAte(url+"&v=3D"+HeureSys()) ALORS
Erreur("Impossible de contacter le serveur")
Ferme()
SINON
source =3D HTTPDonneR=E9sultat()
sourceXML =3D AnsiVersUnicode(source) //Source r=E9cup=E9r=E9e avec
succ=E8s
XMLDocument("xml",sourceXML) //Plantage al=E9atoire =E0 cette ligne
Dans ce bout de code, le logiciel plante sur la ligne du XMLDocument.
Cependant, en tra=E7ant ma variable sourceXML, j'ai bien =E0 chaque fois
la m=EAme liste bien format=E9e en XML que je r=E9cup=E8re.
Le plus troublant c'est que le message d'erreur ne contient rien. Ca
ne me renvoi aucune erreur (pas d'erreur syst=E8me et pas d'erreur
explicite dans ErreurInfo(errComplet)).
Est-ce que quelqu'un aurait d=E9j=E0 rencontr=E9 le probl=E8me ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal F
a émis l'idée suivante :
Bonjour,
Dans le cadre d'une application développée en windev mobile, j'interroge via GPRS mon serveur web (une simple page PHP) qui me renvoi une liste "d'item" que je peux ensuite proposer via une liste déroulante dans mon application.
Le problème que je rencontre est le suivant : En exécutant le même code, de manière complètement aléatoire, l'application plante mais toujours sur la même ligne (ou du moins, toujours en appelant les fonctions XML.... il me semble). Voici un bout du code incriminé :
//**************************************************************** source est un buffer sourceXML est une chaine
SI PAS HTTPRequête(url+"&v="+HeureSys()) ALORS
Erreur("Impossible de contacter le serveur") Ferme()
SINON
source = HTTPDonneRésultat() sourceXML = AnsiVersUnicode(source) //Source récupérée avec succès
XMLDocument("xml",sourceXML) //Plantage aléatoire à cette ligne
Dans ce bout de code, le logiciel plante sur la ligne du XMLDocument. Cependant, en traçant ma variable sourceXML, j'ai bien à chaque fois la même liste bien formatée en XML que je récupère. Le plus troublant c'est que le message d'erreur ne contient rien. Ca ne me renvoi aucune erreur (pas d'erreur système et pas d'erreur explicite dans ErreurInfo(errComplet)).
Est-ce que quelqu'un aurait déjà rencontré le problème ?
J'ai eu ce genre de problème parceque le XMLTermine ne libérait pas correctement le XML. Faut que je regarde comment j'ai résolu le problème.
-- Pascal
Ne garder que le prénom pour me joindre
delirman49@gmail.com a émis l'idée suivante :
Bonjour,
Dans le cadre d'une application développée en windev mobile,
j'interroge via GPRS mon serveur web (une simple page PHP) qui me
renvoi une liste "d'item" que je peux ensuite proposer via une liste
déroulante dans mon application.
Le problème que je rencontre est le suivant :
En exécutant le même code, de manière complètement aléatoire,
l'application plante mais toujours sur la même ligne (ou du moins,
toujours en appelant les fonctions XML.... il me semble). Voici un
bout du code incriminé :
//****************************************************************
source est un buffer
sourceXML est une chaine
SI PAS HTTPRequête(url+"&v="+HeureSys()) ALORS
Erreur("Impossible de contacter le serveur")
Ferme()
SINON
source = HTTPDonneRésultat()
sourceXML = AnsiVersUnicode(source) //Source récupérée avec
succès
XMLDocument("xml",sourceXML) //Plantage aléatoire à cette ligne
Dans ce bout de code, le logiciel plante sur la ligne du XMLDocument.
Cependant, en traçant ma variable sourceXML, j'ai bien à chaque fois
la même liste bien formatée en XML que je récupère.
Le plus troublant c'est que le message d'erreur ne contient rien. Ca
ne me renvoi aucune erreur (pas d'erreur système et pas d'erreur
explicite dans ErreurInfo(errComplet)).
Est-ce que quelqu'un aurait déjà rencontré le problème ?
Dans le cadre d'une application développée en windev mobile, j'interroge via GPRS mon serveur web (une simple page PHP) qui me renvoi une liste "d'item" que je peux ensuite proposer via une liste déroulante dans mon application.
Le problème que je rencontre est le suivant : En exécutant le même code, de manière complètement aléatoire, l'application plante mais toujours sur la même ligne (ou du moins, toujours en appelant les fonctions XML.... il me semble). Voici un bout du code incriminé :
//**************************************************************** source est un buffer sourceXML est une chaine
SI PAS HTTPRequête(url+"&v="+HeureSys()) ALORS
Erreur("Impossible de contacter le serveur") Ferme()
SINON
source = HTTPDonneRésultat() sourceXML = AnsiVersUnicode(source) //Source récupérée avec succès
XMLDocument("xml",sourceXML) //Plantage aléatoire à cette ligne
Dans ce bout de code, le logiciel plante sur la ligne du XMLDocument. Cependant, en traçant ma variable sourceXML, j'ai bien à chaque fois la même liste bien formatée en XML que je récupère. Le plus troublant c'est que le message d'erreur ne contient rien. Ca ne me renvoi aucune erreur (pas d'erreur système et pas d'erreur explicite dans ErreurInfo(errComplet)).
Est-ce que quelqu'un aurait déjà rencontré le problème ?
J'ai eu ce genre de problème parceque le XMLTermine ne libérait pas correctement le XML. Faut que je regarde comment j'ai résolu le problème.
-- Pascal
Ne garder que le prénom pour me joindre
Pascal F
Voila comment j'ai résolu: J'ai une procédure de chargement du XML PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML" InfoXML est une chaîne // Chaîne résultat eIndice est un entier ePositionXML est un entier cZone est une chaîne eInd est un entier eCol est un entier
// Chargement du fichier XML dans une chaîne InfoXML = pTitre SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier SI PAS XMLDocument(DocXML,InfoXML) ALORS Erreur(ErreurInfo()) RENVOYER Faux FIN
/---- Traitement du XML / Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML Erreur(ErreurInfo()) FIN DocXML="" RENVOYER Vrai
CAS EXCEPTION: ExceptionActive() SI EnModeTest() ALORS Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement)) FIN XMLTermine(DocXML) RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
Depuis je n'ai plus de problème.
-- Pascal
Ne garder que le prénom pour me joindre
Voila comment j'ai résolu:
J'ai une procédure de chargement du XML
PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML"
InfoXML est une chaîne // Chaîne résultat
eIndice est un entier
ePositionXML est un entier
cZone est une chaîne
eInd est un entier
eCol est un entier
// Chargement du fichier XML dans une chaîne
InfoXML = pTitre
SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier
SI PAS XMLDocument(DocXML,InfoXML) ALORS
Erreur(ErreurInfo())
RENVOYER Faux
FIN
/---- Traitement du XML
/ Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML
Erreur(ErreurInfo())
FIN
DocXML=""
RENVOYER Vrai
CAS EXCEPTION:
ExceptionActive()
SI EnModeTest() ALORS
Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement))
FIN
XMLTermine(DocXML)
RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un
XMLTermine(DocXML)
Depuis je n'ai plus de problème.
--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre
Voila comment j'ai résolu: J'ai une procédure de chargement du XML PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML" InfoXML est une chaîne // Chaîne résultat eIndice est un entier ePositionXML est un entier cZone est une chaîne eInd est un entier eCol est un entier
// Chargement du fichier XML dans une chaîne InfoXML = pTitre SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier SI PAS XMLDocument(DocXML,InfoXML) ALORS Erreur(ErreurInfo()) RENVOYER Faux FIN
/---- Traitement du XML / Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML Erreur(ErreurInfo()) FIN DocXML="" RENVOYER Vrai
CAS EXCEPTION: ExceptionActive() SI EnModeTest() ALORS Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement)) FIN XMLTermine(DocXML) RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
Depuis je n'ai plus de problème.
-- Pascal
Ne garder que le prénom pour me joindre
soundofthunder
Le mercredi 24 Octobre 2007 à 19:28 par Pascal F :
Voila comment j'ai résolu: J'ai une procédure de chargement du XML PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML" InfoXML est une chaîne // Chaîne résultat eIndice est un entier ePositionXML est un entier cZone est une chaîne eInd est un entier eCol est un entier
// Chargement du fichier XML dans une chaîne InfoXML = pTitre SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier SI PAS XMLDocument(DocXML,InfoXML) ALORS Erreur(ErreurInfo()) RENVOYER Faux FIN
/---- Traitement du XML / Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML Erreur(ErreurInfo()) FIN DocXML="" RENVOYER Vrai
CAS EXCEPTION: ExceptionActive() SI EnModeTest() ALORS Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement)) FIN XMLTermine(DocXML) RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
Depuis je n'ai plus de problème.
-- Pascal
Ne garder que le prénom pour me joindre
Bonsoir pascal,
J'expérimente ce problème et j'essaie d'implanter votre code. J'ai juste une interrogation concernant votre phrase Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
: comment vous refaites un xmltermine alors alors que vous avez fait un seul xmldocument?
Merci pour votre réponse.
elie
Le mercredi 24 Octobre 2007 à 19:28 par Pascal F :
Voila comment j'ai résolu:
J'ai une procédure de chargement du XML
PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML"
InfoXML est une chaîne // Chaîne résultat
eIndice est un entier
ePositionXML est un entier
cZone est une chaîne
eInd est un entier
eCol est un entier
// Chargement du fichier XML dans une chaîne
InfoXML = pTitre
SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier
SI PAS XMLDocument(DocXML,InfoXML) ALORS
Erreur(ErreurInfo())
RENVOYER Faux
FIN
/---- Traitement du XML
/ Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML
Erreur(ErreurInfo())
FIN
DocXML=""
RENVOYER Vrai
CAS EXCEPTION:
ExceptionActive()
SI EnModeTest() ALORS
Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement))
FIN
XMLTermine(DocXML)
RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait
un
XMLTermine(DocXML)
Depuis je n'ai plus de problème.
--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre
Bonsoir pascal,
J'expérimente ce problème et j'essaie d'implanter votre code.
J'ai juste une interrogation concernant votre phrase
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un
XMLTermine(DocXML)
: comment vous refaites un xmltermine alors alors que vous avez fait un seul xmldocument?
Le mercredi 24 Octobre 2007 à 19:28 par Pascal F :
Voila comment j'ai résolu: J'ai une procédure de chargement du XML PROCEDURE Rempli_Tableau_Titre(pTitre)
DocXML est une chaîne = "XML" InfoXML est une chaîne // Chaîne résultat eIndice est un entier ePositionXML est un entier cZone est une chaîne eInd est un entier eCol est un entier
// Chargement du fichier XML dans une chaîne InfoXML = pTitre SI pTitre="" ALORS RENVOYER Vrai
// Initialisation des fonctions XML sur ce fichier SI PAS XMLDocument(DocXML,InfoXML) ALORS Erreur(ErreurInfo()) RENVOYER Faux FIN
/---- Traitement du XML / Terminaison du XML
SI PAS XMLTermine(DocXML) ALORS // Libère le document XML Erreur(ErreurInfo()) FIN DocXML="" RENVOYER Vrai
CAS EXCEPTION: ExceptionActive() SI EnModeTest() ALORS Erreur(ExceptionInfo(),ExceptionInfo(errLigne),ExceptionInfo(errTraitement)) FIN XMLTermine(DocXML) RENVOYER Faux
Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
Depuis je n'ai plus de problème.
-- Pascal
Ne garder que le prénom pour me joindre
Bonsoir pascal,
J'expérimente ce problème et j'essaie d'implanter votre code. J'ai juste une interrogation concernant votre phrase Ensuite lorsque je quitte la fenetre dans laquelle je traite le XML je refait un XMLTermine(DocXML)
: comment vous refaites un xmltermine alors alors que vous avez fait un seul xmldocument?