|
Clonage de dolonnes dans un champ Table |
Iniciado por MICHEL, set., 11 2018 12:46 PM - 9 respostas |
| |
| | | |
|
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em setembro, 11 2018 - 12:46 PM |
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. |
| |
| |
| | | |
|
| | |
| |
Membro registado 797 mensagems Popularité : +40 (42 votes) |
|
Publicado em setembro, 11 2018 - 1:17 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em setembro, 12 2018 - 10:09 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em setembro, 12 2018 - 10:46 AM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em setembro, 12 2018 - 5:41 PM |
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'avanceMensagem modificada, setembro, 12 2018 - 5:47 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em setembro, 18 2018 - 4:31 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Publicado em janeiro, 21 2019 - 4:02 PM |
Bonjour, Avez-vous du nouveau sur ce problème, j'ai le même et ne vois pas de solution.... |
| |
| |
| | | |
|
| | |
| |
Membro registado 299 mensagems Popularité : +16 (16 votes) |
|
Publicado em janeiro, 21 2019 - 5:08 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 326 mensagems Popularité : +5 (5 votes) |
|
Publicado em janeiro, 21 2019 - 6:15 PM |
Bonsoir.
Je vous rassure aussi : ni le clonage de colonnes, ni les indirections ne fonctionnent sous android.
En version 23. |
| |
| |
| | | |
|
| | |
| |
Membro registado 1 mensagem |
|
Publicado em abril, 17 2019 - 5:24 PM |
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 !!Mensagem modificada, abril, 17 2019 - 5:34 PM |
| |
| |
| | | |
|
| | | | |
| | |
|