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 :

Echec de CreateCompatibleBitmap.


Sujet :

MFC

  1. #1
    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
    Par défaut Echec de CreateCompatibleBitmap.
    Bonjour,
    Pour quels raisons un CreateCompatibleBitmap peut échouer ?
    La code suivant :
    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
     
     
    HDC m_hdc;
    m_hdc = ::GetDC(NULL);
    DWORD dwErreur(0);
    if(!m_hdc)
    {
       dwErreur = GetLastError();
    }
    else{
       HBITMAP hbmp;
       hbmp = ::CreateCompatibleBitmap(m_hdc, 800, 800);
       if ( !hbmp )
       {
          dwErreur = GetLastError();
          // ???
       }
       else{
            DeleteObject (hbmp );
       }
       DeleteDC (m_hdc);
    }
    A un moment échoue et GetLastError retourne 0.

    [EDIT] : ceci fait suite à cette discussion.

  2. #2
    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,
    sur quel OS cible tu exécutes le code ?

  3. #3
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Hello,
    J'ai ce probleme en ce moment, il s'agit d'un Windows XP Professionnel version 2002 avec Service Pack 2

  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
    vous utilisez tous les deux visual 2008 ?
    si oui la plateforme ciblée est réglée ?

  5. #5
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    J'utilise Visual Studio 2005 et, pour ce que j'en sais, tout est réglé correctement (en tout cas je n'avais jamais eu ce probleme avant)

  6. #6
    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
    Par défaut
    Personnellement, je n'ai pas reproduit le problème. Ma première hypothèse était que des handles étaient perdus. Par conséquent, c'était la cause de l'échec à un moment (trop de handle ouvert). Mais, il semblerait que non (n'est-ce pas vikki ?). L'étonnant est que GetLastError ne retourne rien

  7. #7
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Effectivement, ::GetDC(NULL); retourne toujours un handler valide, mais CreateCompatibleBitmap retourne NULL dans certains cas. Ce probleme ne ce produit que lorsque j'appel le CreateCompatibleBitmap dans deux fenetre graphiques differentes. Je peux l'appeler dix fois sans probleme dans une premiere fenetre, mais CreateCompatibleBitmap retournera automatiquement NULL lors de l'appel de cette meme fonction dans une fenetre differente. Si cela à un lien...

    EDIT: je travail avec wxWidgets

  8. #8
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    3DArchi m'avait mis sur la piste et avait raison : j'avais trop de handle ouvert (environ 4000) donc impossible d'en creer de nouveaux (en tt cas ca semble etre ca). Ca marche parfaitement desormais, probleme resolu

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

Discussions similaires

  1. La chasse aux bugs (jeu d'Echecs)
    Par Sub0 dans le forum Développement 2D, 3D et Jeux
    Réponses: 117
    Dernier message: 06/11/2008, 09h46
  2. ORA-12570 : TNS : echec à la lecture du paquet
    Par tethrit dans le forum Oracle
    Réponses: 21
    Dernier message: 17/01/2005, 17h22
  3. Carte ethernet en echec sous MDK10
    Par tileffeleauzed dans le forum Matériel
    Réponses: 20
    Dernier message: 09/10/2004, 23h25
  4. [CR][VB.NET] Echec de connexion
    Par Shuret dans le forum SDK
    Réponses: 5
    Dernier message: 15/09/2004, 10h46
  5. empecher win98 de booter en mode sans echec
    Par altahir007 dans le forum Windows
    Réponses: 3
    Dernier message: 03/12/2003, 13h49

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