| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 11 septembre 2018 - 12:46 |
Bonjour,
J'ai besoin de créer dynamiquement des colonnes dans un champ Table. Ces colonnes seront appelées Col_, Lien_ et Image_ suivi d'un chiffre de séquence. Initialement les colonnes Col_1, Lien_1 et Image_1 existent, les nouvelles sont obtenues par clonage.
J'ai donc le code suivant
POUR i = 2 _A_ LN_NbColonnes Info("avant", TableOccurrence(ta_Menu, toColonne)) ChampClone(ta_Menu.Col_1, "Col_" + NumériqueVersChaîne(i)) ChampClone(ta_Menu.Lien_1, "Lien_" + NumériqueVersChaîne(i)) ChampClone(ta_Menu.Filler_1, "Filler_" + NumériqueVersChaîne(i)) Info("apres", TableOccurrence(ta_Menu, toColonne)) {"ta_Menu.Col_"+NumériqueVersChaîne(i)}..Visible = Vrai {"ta_Menu.Col_"+NumériqueVersChaîne(i)}..Largeur = LN_TailleIcone {"ta_Menu.Filler_"+NumériqueVersChaîne(i)}..Visible = Vrai {"ta_Menu.Filler_"+NumériqueVersChaîne(i)}..Largeur = LN_TailleEcart FIN
Sous émulateur tout fonctionne bien. Sous Android le nombre de colonnes avant et après clonage est identique, la suite du code plante et le client s'impatiente.
Si vous avez des idées je suis preneur. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 797 messages Popularité : +40 (42 votes) |
|
Posté le 11 septembre 2018 - 13:17 |
Bonjour. Pendant l'exécution du code ne vous montrera aucune erreur ? Selon la documentation WM pour Android, ne prend en charge que les variables indirectes dans les variables globales.
Opérateurs indirects Les indirections ne sont supportées que sur les variables globales. Une indirection sur une variable locale d'un processus déclenchera une erreur "élément inconnu".
https://doc.pcsoft.fr/fr-FR/?9000108&name=Specific_features_of_applications_for_Android
Rubén |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 12 septembre 2018 - 10:09 |
Merci
Effectivement j'ai vu des sujets de ce type sur d'autres forum J'avais écrit ceci dans l'initialisation du projet
GLOBAL GO_Appl est une GC_ApplType LC_Champ est une chaîne
Je pensais que c'était suffisant |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 12 septembre 2018 - 10:46 |
J'ai essayé de travailler à partir d'une autre approche. Nouveau plantage :
ta_Menu[LN_Ligne,LN_Colonne] = "..."
provoque une erreur à l'exécution. Ca devient un peu désespérant |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 12 septembre 2018 - 17:41 |
Je reformule ma question
Pourquoi sous WinDev Mobile la ligne suivante
ta_Menu[LN_Ligne,LN_Colonne] = "..." renvoie l'erreur L'opérateur [] est incompatible avec le type ligne de zone répétée Ce problème existait déjà en 2015. https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/20025-table-qui-fonctionne-sous-emulateur-windev-mobile-mais/read.awp
Donc je reformule ma première question, pourquoi ma variable LC_champ n'est-elle pas reconnue comme une variable globale alors que j'ai écrit dans l'initialisation du projet
Global LC_Champ est une chaine
Où faut-il déclarer sinon ?
Merci d'avanceMessage modifié, 12 septembre 2018 - 17:47 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 18 septembre 2018 - 16:31 |
J'imagine que j'utilise une version de WinDev issue d'un piratage. Cela expliquerait que je rencontre des problèmes qui ne surviennent nulle part ailleurs et donc que personne ne peut me répondre.
Si par hasard quelqu'un rencontrait un jour le même souci voici comment je m'en suis sorti
Je définis en variable globale de ma page un tableau dynamique. Ensuite, au lieu d'affecter directement ma table j'affecte les valeurs dans le tableau
LT_Menu est un tableau dynamique
LT_Menu = allouer un tableau [LN_NbLignes, LN_NbColonnes, 2] de chaînes POUR TOUT LO_Noeud de LO_FluxXML.bureau sur Icône LN_Colonne = Val(LO_Noeud.colonne) LN_Ligne = Val(LO_Noeud.ligne) LT_Menu[LN_Ligne, LN_Colonne, 1] = LO_Noeud.image LT_Menu[LN_Ligne, LN_Colonne, 2] = LO_Noeud.lien FIN
Ensuite, pour affecter le champ table j'utilise un code que je n'aurais jamais pensé écrire
SELON PN_Colonne CAS 1 : ta_Menu.Colonne1..Largeur = PN_TailleIcone ta_Menu.Colonne1..Visible = Vrai ta_Menu.Colonne1[PN_Ligne] = ComplèteRep(GO_Appl.LC_CheminAppli) + "MD_Images" + fSep + LC_Image CAS 2 : ta_Menu.Colonne3..Largeur = PN_TailleIcone ta_Menu.Colonne3..Visible = Vrai ta_Menu.Colonne4..Visible = Vrai ta_Menu.Colonne3[PN_Ligne] = ComplèteRep(GO_Appl.LC_CheminAppli) + "MD_Images" + fSep + LC_Image ETC...
et ceci 22 fois |
| |
| |
| | | |
|
| | |
| |
Posté le 21 janvier 2019 - 16:02 |
Bonjour, Avez-vous du nouveau sur ce problème, j'ai le même et ne vois pas de solution.... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 299 messages Popularité : +16 (16 votes) |
|
Posté le 21 janvier 2019 - 17:08 |
Ca me rassure de ne pas être le seul à rencontrer ce souci. La solution (si on peut appeler ça ainsi) a été de faire ce que j'ai indiqué dans mon dernier post. Je ne suis pas parvenu à faire fonctionner une indirection. Cela dit je n'ai pas essayé en version 24 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 326 messages Popularité : +5 (5 votes) |
|
Posté le 21 janvier 2019 - 18:15 |
Bonsoir.
Je vous rassure aussi : ni le clonage de colonnes, ni les indirections ne fonctionnent sous android.
En version 23. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 17 avril 2019 - 17:24 |
Bonjour, moi aussi je trouve ce problème. je veux travailler avec ChampClone pour manipuler des nouveaux boutons au niveau d'une fenêtre Android, mais il me donne l'erreur "élément inconnu" même qu'au niveau du simulateur de WM marche bien !!Message modifié, 17 avril 2019 - 17:34 |
| |
| |
| | | |
|
| | |