Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une fenêtre qui contient l'ole "Web Microsoft browser" l'active x d'IE.
Dans cet ole il y a plusieurs événements dont le beforenaviguate2.
Cet événement à plusieurs arguments dont un qui se nomme posdata qui contient les
données envoyées au serveur Web. Ce posdata est de type Any et passé par reférence.
En mode Débug, je visualise cetta variable qui contient les données sous forme de tableau apparement.
Je n'arrive pas à mettre ces données du tableau dans une variable String ?
Quelqu'un sait comment faire ou peut m'aider ?
Dernière modification par pkhayat (17-12-2007 15:16:06)
Hors ligne
il faut faire un decoupage de tes données... à l'aide des commandes pos et mid...left...
Hors ligne
Salut pick ouic,
c'est à dire je n'ai pas saisi ta réponse,
un découpage de la variable posdata ?
Merci d'avance
Hors ligne
Si c'est vraiment un tableau de strings, il faudrait faire un truc du genre
String larr_postData[]
larr_postData = posdata
PS : d'après MSDN c'est un SAFEARRAY, mais ce truc je sais pas ce que c'est.
Toujours d'après MSDN c'est plutôt une structure dont un élément est un tableau.
Auquel cas, il faudrait traduire la structure en powerscript
Hors ligne
C'est un tableau de variable Any, car j'arrive à faire un upperbound du tableau d'any.
mais le code ci dessous en powerscipt ne se compile pas, il y a une erreur au niveau de la boucle for,
le message est "Subscripted expression not an array"
String ls_saisie, ls_saisie_1 Long ll_UpperBound, ll_compteur Any ls_line ls_line = postdata If Not IsNull(postdata) Then ll_UpperBound = UpperBound(postdata) For ll_compteur = 0 To ll_UpperBound ls_saisie = ls_saisie + String(ls_line[ll_compteur]) Next End If
PS : Shahin Le code que tu m'as donné provoque une erreur, "Array expected in ANY variable at line ..."
Hors ligne
pkhayat a écrit:
C'est un tableau de variable Any, car j'arrive à faire un upperbound du tableau d'any.
mais le code ci dessous en powerscipt ne se compile pas, il y a une erreur au niveau de la boucle for,
le message est "Subscripted expression not an array"Code: pb
String ls_saisie, ls_saisie_1 Long ll_UpperBound, ll_compteur Any ls_line ls_line = postdata If Not IsNull(postdata) Then ll_UpperBound = UpperBound(postdata) For ll_compteur = 0 To ll_UpperBound ls_saisie = ls_saisie + String(ls_line[ll_compteur]) Next End IfPS : Shahin Le code que tu m'as donné provoque une erreur, "Array expected in ANY variable at line ..."
Et avec :
Any ls_line[]
Ca change quelquechose?
ll_Upperbound est bien supérieur à zéro?
PS:
Hors ligne
100% d'accord avec Foon.
Sinon, tu peux envoyer une capture d'écran de ton débugueur, en zoomant sur postdata ?
Hors ligne
ll_upperbound me retourne bien la bonne valeur, elle est donc bien supérieure à 0.
Avec le code :
Any ls_line[]
Je n'ai plus d'erreur de compilation mais une erreur à l'exécution :
"Error : Array expected in ANY variable at line 8 in beforenavigate2 event ......"
la ligne 8 est :
ls_line = postdata
comment je fais pour t'envoyer un printscreen ?
par mail ?
Hors ligne
pkhayat a écrit:
comment je fais pour t'envoyer un printscreen ?
par mail ?
Utilise www.imageshack.us pour sauvegarder ton printscreen
et mets un lien dans ton message avec les balises img
Hors ligne
Hors ligne
pkhayat a écrit:
Avec le code :
Code:
Any ls_line[]Je n'ai plus d'erreur de compilation mais une erreur à l'exécution :
"Error : Array expected in ANY variable at line 8 in beforenavigate2 event ......"
Vraiment bizarre. Vu ta capture d'écran ça devrait être bon
Il faut peut-être faire :
Any ls_line[] ... If Not IsNull(postdata) Then if upperbound(postdata) >= 1 then & ls_line = postdata
Sinon, tu as une deuxième erreur : ta boucle démarre à 0, il faut démarrer à 1.
Maais ça ne résout pas la première
Hors ligne
Ca marche avec ta syntaxe, je récupère bien le contenu de l'argument postdata.
je ne sais pas pourquoi en mettant le
ls_line = postdata avant ca génére une erreur ???
Je vais cloturer la discussion dans l'après midi.
Merci encore.
A+
Hors ligne
Merci de mettre [RESOLU] dans le titre du premier message
Hors ligne
pkhayat a écrit:
je ne sais pas pourquoi en mettant le
ls_line = postdata avant ca génére une erreur ???
Tout simplement parce que l'évt est déclecnhé plusieurs fois, et que parfois postData est Null
De rien
Hors ligne
Bonjour,
j'ai trouvé ces articles très intéressants et j'ai essayé avec un succès très relatif.
je vois bien mon tableau postdata avec des valeur dans le debugger mais elles n'ont pas d'intéret ( du moins pour moi)
Mon problème est le suivant :
j'ai une liste dans ole webserver et je voudrais accéder à la ligne sélectionnée par click ou double click.
Si quelqu'un a des idées je suis preneur.
merci d'avance
Pha
Hors ligne