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 :

Problème de migration MFC Dynamic linked to static


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut Problème de migration MFC Dynamic linked to static
    Bonjour
    J'essaye de sous VC2005 de lier les MFC de manière statique à mon projet, celle-ci étaient auparavant déclarées comme étatnt dynamique.
    J'ai donc dans les propriétés du projet sélectionné "Use MFC in a Static Library" et après avoir recompilé tout le projet cela fonctionne.... enfin presque je ne sais plus imprimer ni faire un apercu avant impression, l'application crash avec une corruption du heap.
    Le crash survient dans COccManager:ostCreateDialog (occmgr.cpp) lorque le système essaye de libérer la mémoire allouée pour
    pDlgInfo->m_ppOleDlgItems.
    Avez-vous une idée?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    est-ce que tu as changé de version de MFC par la même occasion ou pas ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    Oui mon apllication est déjà ancienne (VC6), j'avais migré sur VC2003 il y a deux ans en gardant les MFCs en dll partagée (MFC7), maintenant je suis passé sur VC2005 et pour des raisons de mise à jour je voudrais lier les nouvelles MFC (8) de manière statique.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    dans ton programme tu utilises des dll autres que celles des MFC?
    tu n'as pas touché a l'alignement memoire ?
    sinon peut etre bien que tu as un bug memoire mis en evidence par vc2005...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    J'utilise d'autres dll, ce qui me rend perplexe c'est que si je repasse en liaison dynamique pour les MFCs, que je recompile le projet j'ai de nouveau accès à l'impression sans plantage

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Alors attention aux problèmes suivant :
    Mélange de CRT statique et dynamique ne font pas bon ménage …
    Surtout sur des objets pouvant être libérés dans un module autre que celui qui l’a construit.
    Les dll et .lib doivent être reconstruite avec Visual 2005 pour éviter ce même problème.
    Voir mon tuto sur la migration. http://farscape.developpez.com/tutor...on-vc6-vc2005/

    Et ce post :
    http://www.developpez.net/forums/sho...72#post1047972

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    Personnellement j'aurais regénéré un projet de zéro avec le nouveau wizard et recollé le code utilisateur à la main, de façon à repartir sur des bases solides (il y a eu pas mal de changements dans les MFC depuis VC6).

    Ca prend un peu de temps, c'est fastidieux, mais par expérience (nombreuses migrations VC6 -> VC7 réussies sans aucune prise de tête) je peux t'affirmer qu'à moyen terme c'est un très bon investissement.

    Maintenant si c'est un (petit) projet qui ne sera de toute façon jamais pérennisé, c'est autre chose...

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    Citation Envoyé par rigobert
    Personnellement j'aurais regénéré un projet de zéro avec le nouveau wizard et recollé le code utilisateur à la main, de façon à repartir sur des bases solides (il y a eu pas mal de changements dans les MFC depuis VC6).

    Ca prend un peu de temps, c'est fastidieux, mais par expérience (nombreuses migrations VC6 -> VC7 réussies sans aucune prise de tête) je peux t'affirmer qu'à moyen terme c'est un très bon investissement.

    Maintenant si c'est un (petit) projet qui ne sera de toute façon jamais pérennisé, c'est autre chose...
    Oups je ne pense pas que ce soit vraiment possible, c'est un projet qui à démarré en 2000, c'est une appli avec plus de 300 fichiers cpp, le fichier de resource comporte 16 langues...

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

Discussions similaires

  1. Problème fonction accept() MFC Single Document
    Par lhulard dans le forum MFC
    Réponses: 5
    Dernier message: 18/01/2006, 14h43
  2. [MFC] enorme probleme entre statics et includes
    Par giova_fr dans le forum MFC
    Réponses: 4
    Dernier message: 09/12/2005, 14h15
  3. [Vs2003] Problème de migration vs2002 à vs2003
    Par iDaaX dans le forum Visual Studio
    Réponses: 3
    Dernier message: 17/10/2005, 10h12
  4. Problème de migration d'application
    Par UVCR dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/10/2005, 10h45
  5. Problème de migration
    Par champijulie dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2005, 10h37

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