IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Fonction Dialogue - L'élément 'BTN_1' est inconnu. [WD18]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut Fonction Dialogue - L'élément 'BTN_1' est inconnu.
    Bonjour à tous,

    Je veux utiliser la fonction Dialogue pour contrôler l'effacement d'une ligne de table.

    Je me sers de l'assistant pour créer cette boîte de dialogue.

    Lorsque je lance le test voici l'erreur retournée par Windev 18.

    Erreur à la ligne 30 du traitement Procédure globale WinDevQuestion_AfficherBoutons.
    L'élément 'BTN_1' est inconnu.

    ----- Informations techniques -----

    Projet :

    Appel WL :
    Traitement de 'Procédure globale WinDevQuestion_AfficherBoutons' (WDOBJ_Dialogue.WinDevQuestion_AfficherBoutons), ligne 30, thread 0

    Que s'est-il passé ?
    L'élément 'BTN_1' est inconnu.

    Code erreur : 1059
    Niveau : erreur fatale (EL_FATAL)

    Dump de l'erreur du module 'wd180vm.dll' (18.0.150.3).
    Identifiant des informations détaillées (.err) : 1059
    Informations supplémentaires :
    EIT_PILEWL :
    Procédure globale WinDevQuestion_AfficherBoutons (WDOBJ_Dialogue.WinDevQuestion_AfficherBoutons), ligne 30
    Procédure globale WinDevQuestionInit (WDOBJ_Dialogue.WinDevQuestionInit), ligne 45
    Clic sur BTN_BOUTON


    J'ai recompilé le projet mais rien n'y fait.
    J'ai crée une nouvelle fenêtre idem.
    Pour info j'utilise cette fonction dans une autre fenêtre et dans d'autres projets elle fonctionne parfaitement.

    Merci d'avance pour votre aide.
    virtualdev

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,


    Est-ce que les références concordent ?
    Parce que BTN_1 et BTN_BOUTON, ce n'est a priori pas la même chose.

    L'élément 'BTN_1' est inconnu.
    Clic sur BTN_BOUTON
    Sinon, il faut nous donner le code d'appel, le nom des champs impliqués etc.

    Hemgé

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Bonjour Hemgé,
    J'avais crée une nouvelle fenêtre vierge (sans gabarit) pour tester.
    Cette fenêtre comporte un seul bouton BTN_BOUTON comportant le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //1 : &Supprimer
    //2 : &Ne pas supprimer
    SELON Dialogue("Voulez-vous supprimer cette écriture ?")
    	// &Supprimer
    	CAS 1
    		Info("supprimé")
    	// &Ne pas supprimer
    	CAS 2
    		Info("pas supprimé")
    FIN
    Ce code a été généré par l'assistant Windev sur la fonction Dialogue. ( J'ai juste rajouté les lignes 6 et 9 Info)

    Voici la ligne complète renvoyé par Windev
    Clic sur BTN_BOUTON (FEN_test.BTN_BOUTON), ligne 3

    Il y a bien BTN_1 et BTN_BOUTON. Le premier est inconnu dans la fenêtre.

    virtualdev

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Je viens d'avoir une idée (et oui ça m'arrive)

    J'ai rouvert un autre projet et j'ai fait le même test à savoir
    création d'une nouvelle fenêtre vierge Test
    création d'un bouton BTN_BOUTON avec dans le code la création de la fonction Dialogue (générée par l'assistant)

    Ça fonctionne parfaitement.

    J'ai ouvert le projet pour lequel il y a pb, j'ai chargé la fenêtre crée avec l'ancien projet pour l'incorporer et je l'ai testée.
    Ça ne fonctionne pas.

    Il semblerait y avoir un pb au niveau du projet.

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    Oublions les tests parce que cela devient compliqué avec 3 situations sans savoir exactement à laquelle vous vous référez et concentrons-nous sur le problème.

    Donnez nous les informations demandées : le nom des champs impliqués dans la fenêtre (pas dans un test) où le problème se produit et le code concerné.

    A priori, le message est clair : vous faites référence à un champ 'BTN_1' qui est inconnu (dans le test ou dans le projet réel ? etc. Donc peu importe, montrez nous le code réel)


    Hemgé

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par Hemgé Voir le message
    Bonjour,

    Oublions les tests parce que cela devient compliqué avec 3 situations sans savoir exactement à laquelle vous vous référez et concentrons-nous sur le problème.
    Je vous l'accorde vu de l'extérieur celà peut sembler compliqué.


    Citation Envoyé par Hemgé Voir le message
    Donnez nous les informations demandées : le nom des champs impliqués dans la fenêtre (pas dans un test) où le problème se produit et le code concerné.
    Le pb a lieu à l’exécution d'un clic sur un champ 'BTN_SUPPRIMER' dont voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //1 : &Supprimer
    //2 : &Ne pas supprimer
    SELON Dialogue("Voulez-vous supprimer cette écriture ?")
    	// &Supprimer
    	CAS 1
    		// Suppression de l'enregistrement HistoPieces à partir de la table
    		TableSupprime(TABLE_HistoPieces)
     
    		// Positionnement sur l'enregistrement courant
    		TableAffiche(TABLE_HistoPieces, taCourantPremier)
     
    	// &Ne pas supprimer
    	CAS 2
     
    FIN
    Citation Envoyé par Hemgé Voir le message
    A priori, le message est clair : vous faites référence à un champ 'BTN_1' qui est inconnu (dans le test ou dans le projet réel ? etc. Donc peu importe, montrez nous le code réel)
    Il n'y a pas de champ 'BTN_1' dans les fenêtres concernées et je ne fais référence à aucun moment à ce champ dans mon code.
    Cette erreur a lieu SYSTÉMATIQUEMENT à l'utilisation de la procédure Dialogue, dans ce projet qui est un ancien projet W12 repris en W18.
    Cela fonctionne parfaitement dans d'autres projets crées directement avec W18.

    Merci à vous Hemgé pour le temps que vous consacrez à ce pb.

    A vous lire
    Cordialement
    virtualdev

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    Bonjour,
    J'émets une hypothèse: dans le projet en question, les boites de dialogue sont "personnalisée".
    Je me dis alors que le problème se trouve dans la fenêtre utilisée par Windev pour la fonction dialogue.
    Pour en être sûr, il suffit de mettre un point d'arrêt sur l'appel de Dialogue, puis de tracer le code pas à pas.
    La ligne de code ainsi que le contenu des variables devraient de permettre de trouver ce qui ne va pas.

    Tatayo.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    J'émets une hypothèse: dans le projet en question, les boites de dialogue sont "personnalisée".
    Je me dis alors que le problème se trouve dans la fenêtre utilisée par Windev pour la fonction dialogue.
    Pour en être sûr, il suffit de mettre un point d'arrêt sur l'appel de Dialogue, puis de tracer le code pas à pas.
    La ligne de code ainsi que le contenu des variables devraient de permettre de trouver ce qui ne va pas.

    Tatayo.
    Bien vu mais non.
    J'ai fait ce que tu as préconisé, à savoir placer un point d'arrêt ligne 6 du code ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // Une ligne est-elle sélectionnée ?
    SI TableSelect(TABLE_Sessions) = -1 ALORS RETOUR
     
    //1 : &Supprimer
    //2 : &Ne pas supprimer
    SELON Dialogue("Êtes-vous sûr de vouloir supprimer l'enregistrement ?")
    	// &Supprimer
    	CAS 1
    		// Suppression de l'enregistrement Sessions à partir de la table
    		TableSupprime(TABLE_Sessions)
     
    		// Positionnement sur l'enregistrement courant
    		TableAffiche(TABLE_Sessions, taCourantPremier)
     
    	// &Ne pas supprimer
    	CAS 2
     
    FIN
    F7 pour avancer ==> plantage.

    Erreur à la ligne 30 du traitement Procédure globale WinDevQuestion_AfficherBoutons.
    L'élément 'BTN_1' est inconnu.

    ----- Informations techniques -----

    Projet : GesRaceCar

    Appel WL :
    Traitement de 'Procédure globale WinDevQuestion_AfficherBoutons' (WDOBJ_Dialogue.WinDevQuestion_AfficherBoutons), ligne 30, thread 0

    Que s'est-il passé ?
    L'élément 'BTN_1' est inconnu.

    Code erreur : 1059
    Niveau : erreur fatale (EL_FATAL)

    Dump de l'erreur du module 'wd180vm.dll' (18.0.150.3).
    Identifiant des informations détaillées (.err) : 1059
    Informations supplémentaires :
    EIT_PILEWL :
    Procédure globale WinDevQuestion_AfficherBoutons (WDOBJ_Dialogue.WinDevQuestion_AfficherBoutons), ligne 30
    Procédure globale WinDevQuestionInit (WDOBJ_Dialogue.WinDevQuestionInit), ligne 45
    Clic sur BTN_Supprimer (FEN_Table_Sessions.BTN_Supprimer), ligne 6
    EIT_DATEHEURE : 23/07/2014 06:52:06

    On n'accède pas à la procédure globale.
    C'est rageant.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 188
    Points : 12 744
    Points
    12 744
    Par défaut
    A mon avis il y a un problème dans la fenêtre générée par Windev pour la fonction Dialogue, fenêtre qui est "cachée" car non personnalisée.
    Essaie de cocher l'option de personnalisation des boîtes de dialogue dans le projet, ainsi la fenêtre et son code seront accessibles.
    Peut-être même que ça résoudra le problème !

    Tatayo.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Bravo et merci tatayo pour la piste à suivre.

    J'avais au niveau du projet 2 fenêtres nommées respectivement WindevMessageBox et WindevDialogueBox que j'ai supprimé et tout est rentré dans l'ordre.

    Cordialement
    virtualdev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] L'élément '#WL' est inconnu
    Par pierrep01 dans le forum WinDev
    Réponses: 4
    Dernier message: 29/11/2013, 11h27
  2. Réponses: 11
    Dernier message: 19/03/2007, 18h32
  3. requete effectuée en fonction de si un checkbox est coché
    Par joselito dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/06/2006, 21h06
  4. [C#]Fonction vérifiant qu'1 string est contenue ds 1 autre
    Par closo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2005, 14h41
  5. Une table qui existe mais qui est inconnu! ?
    Par Nino dans le forum InterBase
    Réponses: 6
    Dernier message: 13/06/2003, 12h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo