OVH Cloud OVH Cloud

[WD75 204g]

4 réponses
Avatar
Jean-Paul BATSIK
Bonjour,

J'ai un petit pb avec un combo dans une table mémoire. Afin de pouvoir trier
ma liste, j'utilise la fonction glien pour y cacher mes clés. Or, je
n'arrive jamais à récuperer cette satannée clé, j'ai même des problèmes
d'indices non autorisés, curieux... J'ai fait des tests avec une combo
classique et cela fonctionne correctement...Est-ce spécifique aux combos
dans les tables mémoires? Merci de vos réponses.

Ex:
Listeajoute(combo,"test"+glien("3"))
info(combo[combo]) me donne bien "3" avec un combo classique et un problème
d'indice avec un combo table.

JP

4 réponses

Avatar
Romain PETIT
Jean-Paul BATSIK avait prétendu :
Bonjour,

J'ai un petit pb avec un combo dans une table mémoire. Afin de pouvoir trier
ma liste, j'utilise la fonction glien pour y cacher mes clés. Or, je
n'arrive jamais à récuperer cette satannée clé, j'ai même des problèmes
d'indices non autorisés, curieux... J'ai fait des tests avec une combo
classique et cela fonctionne correctement...Est-ce spécifique aux combos
dans les tables mémoires? Merci de vos réponses.

Ex:
Listeajoute(combo,"test"+glien("3"))
info(combo[combo]) me donne bien "3" avec un combo classique et un problème
d'indice avec un combo table.

JP



Oui, je confirme, ça m'a tout l'air d'un bug (ou de la documentation
qui ne précise pas que gLien n'est pas utilisable avec les combos dans
les tables):

Ex :
combo dans table1 (en saisie ou en affichage seul, c'est la même chose)

//initialisation
ListeSupprimeTout(Table1.Combo)
ListeAjoute(Table1.Combo,"test1"+gLien("555"))
ListeAjoute(Table1.Combo,"test2"+gLien("666"))
ListeAjoute(Table1.Combo,"test3"+gLien("222"))

TableAjouteLigne(Table1,3)

// entre temps on sélectionne un élément, le 2ème par exemple
// puis clic sur un bouton ou code de sélection d'une ligne de 'table1'
gLienActive(Table1.Combo,Vrai) // spécifié ou non, même problème
SI Table1>0 ALORS
Trace(Table1.Combo..Valeur) // donne '2'
Trace(Table1.Combo..ValeurAffichée) // donne 'test2' au lieu de '666'
dans une combo normale avec gLien
QUAND EXCEPTION DANS
Trace(Table1.Combo[Table1.Combo])//provoque des erreurs
//trace(table1.combo[combo]) //itou
//trace(combo[combo])//pareil
//trace(combo[table1.combo])//idem
FAIRE
Trace(ExceptionInfo())
// Vous avez appelé l'opérateur [] sur le champ Table1.
// L'indice spécifié [3] est invalide.
FIN
FIN


Apparement la synthaxe "objet[objet]" n'est pas gérée correctement
(c'est l'objet "table" qui est retourné au compilateur) et gLien ne
fonctionne pas.

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
KPITN
Romain PETIT wrote in
news::

Apparement la synthaxe "objet[objet]" n'est pas g‚r‚e correctement
(c'est l'objet "table" qui est retourn‚ au compilateur) et gLien ne
fonctionne pas.




Il existe un moyen de recuperer ca :


pour récupérer la valeur du gLien, il faut utiliser la syntaxe "bizarre"
suivante
:
table.combo[ligne][table.combo[numligne]]
Avatar
Romain PETIT
KPITN avait énoncé :
table.combo[ligne][table.combo[numligne]]



Effectivement donc, pour mon exemple :
Trace(Table1.Combo[Table1][Table1.Combo[Table1]])

Bien vu !

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
KPITN
Romain PETIT wrote in
news::

KPITN avait énoncé :
table.combo[ligne][table.combo[numligne]]



Effectivement donc, pour mon exemple :
Trace(Table1.Combo[Table1][Table1.Combo[Table1]])

Bien vu !

A+




Ce n'est absolument pas de moi , c'etait une reponse de ST à une personne.

Ils sont sympa quand meme le ST de donner une reponse, et de ne pas
corriger le probleme :)