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 :

[MFC] - L'application n'a pas pu s'initialiser correctement


Sujet :

MFC

  1. #1
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut [MFC] - L'application n'a pas pu s'initialiser correctement
    Salut,

    Je me décide à poster sur ce sujet, parcequ'aucune recherche n'a pu m'aider, et je commence serieusement à coincer

    Alors voilà, j'ai un programme qui compile sans problème sous VC6, mais qui me dit à l'execution:
    L'application n'a pas réussi à s'initialiser correctement, cliquez sur OK pour arrêter l'application.


    J'ai beau metttre un point d'arrêt au début du programme (MFC), le message vient clairement avant l'execution de la première ligne de code
    J'étais content, il avait fini par disparaitre la semaine dernière (comme par magie...), mais il a décidé de revenir, allez savoir pourquoi ...

    Est-ce que quelqu'un est déjà tombé la dessus ?
    Merci !

    (ps: les quelques liens sortis par Google parlent d'applications qui font ça en général, et disent qu'il faut installer le .net framework, mais pourtant il est déjà installé sur mon poste)
    And still we will be here, standing like statues ...

  2. #2
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    ca ressemble à une DLL non(ou mal) chargé. Fait un "View Dependences" sur ton exe pour savoir quel DLL foire
    il y a du linge sur la corde à linge

  3. #3
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Merci pour ton aide!

    C'est vrai que c'est très probable, l'appli dépend de nombreuses DLLs, certaines chargées au démarrage, et d'autre dynamiquement au cours de l'execution. Mais j'ai une question tout bête, on trouve ça ou "View Dependences" ?
    And still we will be here, standing like statues ...

  4. #4
    Membre actif Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Points : 203
    Points
    203
    Par défaut
    c'est dans les outils fournis avec visual c++ si je ne m'abuse
    "La vie ne vaut rien, mais rien ne vaut la vie"

  5. #5
    mat.M
    Invité(e)
    Par défaut
    il ya 99 chance sur 100 que le programme fasse référence à un Active X
    Celui-ci n'est pas enregistré apparemment
    Un programme MFC ne peut pas s'exécuter s'il fait référence à un Active X ( exe ou dll ) et que ce dernier ne soit pas enregistrer avec regsvr32.exe

    Je doute que le Framework NET soit à mettre en cause à moins d'utiliser par exemple gdiplus.dll
    Il faudrait nous dire quels composants sont utilisés, quel type de projet MFC est-ce ?

  6. #6
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par bigquick
    Merci pour ton aide!

    C'est vrai que c'est très probable, l'appli dépend de nombreuses DLLs, certaines chargées au démarrage, et d'autre dynamiquement au cours de l'execution. Mais j'ai une question tout bête, on trouve ça ou "View Dependences" ?
    Explorateur->Sélectionner l'exe ->Clic droit menu contextuel et "View Dependencies"

  7. #7
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Explorateur->Sélectionner l'exe ->Clic droit menu contextuel et "View Dependencies"
    Bah en fait je n'ai pas cette option la dans mon menu contextuel, par contre, dans les outils fournis avec Visual (Visual Studio -> Tools), j'ai trouvé un texas ranger qui peut fair l'affaire: le Dependency walker (désolé pour cette blague completement pourrie ). Je ne sais pas si c'est la même chose que View Dependence,, mais voilà ce que ça m'a donné:


    légende: J'ai noté en bleu les seules DLLs "spéciales" dont je me sers, et en rouge les DLLs d'OpenGL

    (Glut32.dll est en rouge, mais je ne vois pas trop pourquoi : )


    Merci à tous en tout cas pour votre aide, parceque je suis bien perdu!

    Ah oui, et sinon pour les infos, c'est un projet MFC - Dialog qui ne contient rien de spécial (pas de contrôles bizarres). C'est juste un projet de test pour une bibliothèque à moi, qui elle par contre utilise OpenSceneGraph, Producer, et OpenThreads.

    Je n'y connais pas grand chose aux DLLs , mais je sais que je link avec 4 .libs, et visiblement il faut que j'aie les 4 .dll correspondant dans le repertoire du programme pour que ça marche (enfin, quoi là ils y sont et ca ne marche pas ).

    Voilà voilà, c'est tout je crois...
    Merci encore!

    bigquick
    And still we will be here, standing like statues ...

  8. #8
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Mmm, alors ....

    En fait, cette histoire de glut32.dll en rouge m'embétais, du coup j'ai supprimé la seule référence a glut dans mon code.... compilé, linké ...
    Et glut32.dll n'apparait plus dans le Dependency Walker ... et mon programme marche sans problèmes !!! Du coup c'est cool, tout re-fonctionne!

    Mais je me demande juste, qu'est ce qui peut faire que ça ne fonctionne pas ? mat.M, j'ai essayé ce que tu as dit à propos de regsvr, mais j'ai obtenu:


    Peut-être que glu32.dll n'est pas fait pour être enregistré (j'avouerais que j'ai pas tout compris à cete histoire d'enregistrement). Et d'ailleurs c'est vrai que je l'ai toujours utilisé chez moi sans jamais faire quoi que ce soit à part le copier dans C:\Windows\System32

    Est-ce que vous voyez comment faire pour pouvoir enrayer ce problème de Glut32.dll ? (je n'en ai pas super besoin, mais c'est pratique pour dessiner des sphères de debug facilement )

    Merci beaucoup, grâce à vous mon problème est presque résolu !!
    And still we will be here, standing like statues ...

  9. #9
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    C'est tout simplement que la dll glut est introuvable. Son emplacement n'est pas situé / référencé dans les endroits recherchés:
    http://msdn.microsoft.com/library/en-us/dllproc/base/loadlibrary.asp
    Tu as du oublier de la mettre dans system32.

  10. #10
    Membre habitué Avatar de BertrandA
    Inscrit en
    Août 2003
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 170
    Points : 197
    Points
    197
    Par défaut
    C'est tout simplement que la dll glut est introuvable
    T'es sûr de ça Aurélien ? Je pense plutôt que la DLL glut32 n'est pas un composant COM et qu'il est inutile de l'enregistrer, d'où le message d'erreur : seules les DLL COM disposent du point d'entrée DllRegisterServer
    Les orteils servent à trouver les pieds de chaise et les montants de porte quand il fait noir.

  11. #11
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Je pense qu'Aurelien parlait du problème en général, pas du message d'erreur de RegSvr32 Enfin donc sinon pour ce message d'erreur là tu as surement raison... je n'y connais pas grand chose en composants COM (en fait je n'y connais rien du tout ) mais clairement glut32.dll ça ne s'enregistre pas !

    Menfin donc au final ce n'est pas ça non plus, la DLL est bien présente dans le repertoire system32... je l'ai même remplacé par la dernière version du site, pour voir... mais pas de changement

    Sinon pour plus de détails, en fait voilà exactement ce que me dit le Dependency Walker quand je clique sur la ligne GLUT32.DLL:



    J'espère que ça vous parle plus qu'à moi... parceque je ne vois vraiment pas pourquoi il ne trouverait pas le point d'entrée ...
    And still we will be here, standing like statues ...

  12. #12
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Problème de version. Tu utilise une fonction que cette dll n'exporte pas.

  13. #13
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Aie, c'est dingue! Ca plantait il y a quelques jours, et puis ça a remarché, et puis la ça replante...

    La seule explication pour moi, c'est que je suis sur un réseau d'entreprise, et ils utilisent des techniques de déploiement d'application... en gros, beaucoup de fichier sont automatiquement copiés sur nos mahcines au démarrage Par exemple, si tu essayes de mettre tes drivers de carte vidéo à jour, bam, le lendemain tu retrouves les vieux !!

    Donc j'imagine qu'il y a des cafouillages avec glut32.dll ...
    C'est bien triste tout ça ! Enfin bon, tu coup, pas de glut pour moi

    Merci pour votre aide,
    je vais pouvoir recommencer a développer normalement au lieu de me demander pourquoi mon appli ne démarre même pas

    And still we will be here, standing like statues ...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/08/2013, 13h46
  2. Réponses: 1
    Dernier message: 13/02/2009, 20h15
  3. Réponses: 5
    Dernier message: 13/02/2009, 20h13
  4. L'application n'a pas réussi à s'initialiser correctement
    Par kchrel dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 13/02/2009, 20h08
  5. Réponses: 18
    Dernier message: 14/04/2007, 00h50

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