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

MFC Discussion :

Non prise en compte des modifications de l'IHM


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut Non prise en compte des modifications de l'IHM
    Bonjour,

    Voilà je suis amené à modifier une application existante, sur ce code, j'ai déjà fait quelques modif afin d'optimiser quelques méthodes, jusque là tout va bien.

    Ensuite, j'ai essayé de modifier une boite de dialogue (comme le titre dans la barre de titre, ou de rajouter du texte sur cette boite de dialogue), mais lors de l'exécution, aucune de mes modifications ont été prises en compte.
    J'avais aussi essayé de rajouter un bouton radio, il me met bien automatiquement le DDX dans le code de la boite de dialogue, mais à l'execution, j'ai un "Debug Assertion Failed", ce qui signifiait que le DDX correspondant au bouton radio pointait sur un bouton radio qui n'existait pas, pour lors du développement le bouton est bien là.

    Est ce que quelqu'un aurait une idée, parce qu'apres plusieurs heures, je n'ai toujours pas trouvé de solution ...

    Merci par avance.

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Pour le Debug Assertion Failed, regarde dans le "Ressources Symbols" dans le RessourceView.
    ça doit t'ouvrir une petite fenetre dans laquelle tous les nom de tes controles sont présent.
    Tu dois pourvoir trouver les nom de tes controls, leur valeur et s'ils sont utilisés ou pas.

    Dans le cas ou un Nom n'est pas utilisé, supprime le.

    Quand tu as terminé, recompile tout ton projet.



    Pour ton problème de raffraichissement :
    - As tu essayer avec UpdateWindow()?
    - Ou Invalidate() dans certain cas ...
    - Utilise tu des Group Box ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    J'ai nettoyé un peu dans Ressources Symbols, mais il n'y a pas eu de changement.
    Sinon pour "UpdateWindow", ça sert si je fais une modif de l'IHM pendant l'execution, ce qui n'est pas le cas ici (pas pour le moment du moins).

    Sinon effectivement, j'utilise bien des "groupe box", tu as une idée ?

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Est ce que tes controles sont bien affichés au premier plan lors de l'execution ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    comment ça au premier plan ?

    En fait tous les controls qui étaient deja présents sur l'appli s'affiche tous, mais moi lorsque je veux faire une modif, comme rajouter un control ou bien juste déplacement un control existant et bien, rien n'est pris en compte.

  6. #6
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Bonjour,

    Si je comprends bien, c'est comme si l'éditeur de ressources et le compilateur ne travaillaient pas sur le même fichier .rc. As-tu cherché sur ton disque si tu avais plusieurs fichiers .rc ?

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2005
    Messages : 76
    Points : 43
    Points
    43
    Par défaut
    Moi je pensais plutot au GroupBox qui se mettent au premier plan et empeche l'affichage des controles situé derrière ...

    Si c'est cela :
    - La raison : tu as ajouté le groupBox avant les autres controles.
    - Une solution : fait Couper sur ton GroupBox, Enregistre et compile, puis fait Coller, re-enregistre et exécute.

    Normalement le GroupBox est au meme endroit que précédement ... et tes controles seront affichés

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par PetitPapaNoël Voir le message
    Bonjour,

    Si je comprends bien, c'est comme si l'éditeur de ressources et le compilateur ne travaillaient pas sur le même fichier .rc. As-tu cherché sur ton disque si tu avais plusieurs fichiers .rc ?
    qui correspondent à mon repertoire de projet, j'en ai 3 :

    Nomappli.rc
    ResNomappli.rc
    ResNomappliError.rc

    Et c'est dans resNomappli.rc qu'il y a la déclaration par rapport à ma boite de dialogue :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    ...
     
    IDD_TELECODAGE DIALOG DISCARDABLE  0, 0, 324, 210
    STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
    CAPTION "T l codage"
    FONT 8, "MS Sans Serif"
    BEGIN
        COMBOBOX        IDC_MOYEN,107,32,104,172,CBS_DROPDOWNLIST | CBS_SORT | 
                        WS_VSCROLL | WS_TABSTOP
        LISTBOX         IDC_LST_CALC,14,62,118,107,LBS_SORT | 
                        LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
        PUSHBUTTON      "-->>",IDC_AJOUTER_ALL_CALC,145,63,35,14
        PUSHBUTTON      "-->",IDC_AJOUTER_CALC,145,80,35,14
        PUSHBUTTON      "<--",IDC_ENLEVER_CALC,145,137,35,14
        PUSHBUTTON      "<<--",IDC_ENLEVER_ALL_CALC,145,154,35,14
        LISTBOX         IDC_LST_CALC_A_TELECODER,193,62,118,107,LBS_SORT | 
                        LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
        DEFPUSHBUTTON   "Fermer",IDB_FERMER_DOTI,220,183,98,21
        GROUPBOX        "",IDC_STATIC,5,6,313,171
        LTEXT           "Num ro :",IDC_STATIC,14,34,91,8
        LTEXT           "Liste :",IDC_STATIC,14,52,73,8
        LTEXT           "A   t l coder :",IDC_STATIC,194,52,81,8
        LTEXT           "Projet :",IDC_STATIC,14,16,52,8
        LTEXT           "",IDC_PROJET,70,16,63,8
        DEFPUSHBUTTON   "Valider",IDB_VALIDER_MOYEN,6,182,98,21,WS_DISABLED
        DEFPUSHBUTTON   "Retour",IDB_RETOUR,111,183,98,21
    END
     
    ...

  9. #9
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Citation Envoyé par crossrobotik Voir le message
    Moi je pensais plutot au GroupBox qui se mettent au premier plan et empeche l'affichage des controles situé derrière ...
    Je ne pense pas que le problème vienne de là, puisque manifestement il y a plantage dans la méthode DoDataExchange de la fenêtre. Quand des contrôles sont masqués par d'autres contrôle, on ne les voit pas à l'écran mais ils existent quand même, et ils ne font pas planter le DoDataExchange....

  10. #10
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Citation Envoyé par specialka Voir le message
    qui correspondent à mon repertoire de projet, j'en ai 3 :

    Nomappli.rc
    ResNomappli.rc
    ResNomappliError.rc

    Et c'est dans resNomappli.rc qu'il y a la déclaration par rapport à ma boite de dialogue.
    Tiens, c'est bizarre d'avoir 3 fichiers de ressources pour une seule appli. Je ne savais même pas que c'était possible.
    Et tu t'en sers de Nomappli.rc et ResNomappliError.rc ? Tu as essayé de les supprimer avant de compiler ?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par PetitPapaNoël Voir le message
    Tiens, c'est bizarre d'avoir 3 fichiers de ressources pour une seule appli. Je ne savais même pas que c'était possible.
    Et tu t'en sers de Nomappli.rc et ResNomappliError.rc ? Tu as essayé de les supprimer avant de compiler ?
    J'ai essayé de les supprimer comme tu me l'as suggerer, mais ça me génere une erreur à la compilation, uniquement concernant l'absence de Nomappli.rc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ------------------Configuration: Nomappli - Win32 Debug-------------------
    Build : warning : failed to (or don't know how to) build 'C:\user\Exxxxxx\Workspace\Nomappli_CLIENT\IHM\Nomappli.rc'
    Compiling resources...
    RC : fatal error RC1110 : could not open C:\user\Exxxxxx\Workspace\Nomappli_CLIENT\IHM\Nomappli.rc
    Error executing rc.exe.

  12. #12
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Bon et bien je ne vois pas... Mais j'ai quand même l'impression qu'il y a quelque chose de louche au niveau de ces fichiers .rc.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par PetitPapaNoël Voir le message
    Bon et bien je ne vois pas... Mais j'ai quand même l'impression qu'il y a quelque chose de louche au niveau de ces fichiers .rc.
    Bon et bien merci quand meme à vous deux pour votre aide, je vais encore chercher, si quelqu'un a une idée je suis preneur parce que là j'arrive pas à m'en sortir.

  14. #14
    Membre confirmé Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Points : 521
    Points
    521
    Par défaut
    salut,

    tu modifies le mauvais fichier ressource.
    recherche dans tes fichiers .rc sinon tu n'as pas une autre boite de dialogue portant le meme ID.

    @+

  15. #15
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    J'ai survolé un peu le fil et je te proposes les pistes suivantes:
    -> Vrai pour les projets complexes avec beaucoup de DLL et d'inter-dépendance: Visual se mélange un peu les pédales et tu ne compiles pas ce que tu crois: Efface tout tes .obj et fait un rebuild all.
    -> Plus probable: tu dois avoir une collision sur des identificateurs. Certains de tes contrôles ou de tes boîtes de dialogue possèdent des identificateurs identiques. Du coup, tu charges pas la ressource que tu pense. Notamment, il faut faire attention si tu as plusieurs DLL avec chacune leur propre ressources.
    -> Polyglotte : si tu as une application qui gère plusieurs langue peut-être as-tu modifié les fichiers rc d'une langue et compilé ceux d'une autre.
    Ensuite, je pense qu'il faudrait plus de détail pour une analyse plus précise.
    Cordialement.

  16. #16
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    -> Polyglotte : si tu as une application qui gère plusieurs langue peut-être as-tu modifié les fichiers rc d'une langue et compilé ceux d'une autre.
    +1
    Sauf que les différentes langues d'une ressource sont dans la même DLL.
    Si la duplication d'une ressource dans une langue différente se fait avant une modification sur la ressource d'origine, celle-ci n'est pas appliquée à la copie.
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Points : 37
    Points
    37
    Par défaut
    Merci pour vos réponses, mais le problème est que il y avait plusieurs projet dans le worspace de l'appli et l'interface était gérée dans un projet à part apparemment, donc quand je faisais un Build All, il me faisait le build que sur un seul projet et non sur tous et donc pas sur celui qui s'occupait de l'interface.

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

Discussions similaires

  1. SQL Loader - Non prise en compte des titres
    Par zizou771 dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 16/07/2008, 15h30
  2. [cURL] Non prise en compte des cookies avec librairie curl
    Par jpascal dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/12/2007, 20h06
  3. Réponses: 3
    Dernier message: 10/04/2007, 14h38
  4. Problème : Prise en compte des modifications
    Par PhilippeBedin dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/03/2007, 18h45
  5. EXCEL : non prise en compte des lignes >51
    Par h_mag_14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/11/2006, 22h56

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