begin process at 2012 05 29 13:31:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[MFC .NET] Erreur dans wingdi.cpp ligne 92


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[MFC .NET] Erreur dans wingdi.cpp ligne 92

jeudi 24 février 2005 à 22:30:51 | [MFC .NET] Erreur dans wingdi.cpp ligne 92

Atmaweapon

Bonjour,

Je suis en train de développer une application MFC sous .net en Simple Document.
J'ai un problème que je n'arrive absolument pas a résoudre. En effet, totalement aléatoirement, il m'arrive d'avoir une erreur "Debug assertion failed" a la ligne 92 de wingdi.cpp.
Le truc bizarre, est le fait que ca soit totalement aléatoire !... (des fois ca arrive 2-3 fois de suite, d'autre aucune ...) et que le fait de faire "ignorer" ne gêne absolument en rien le déroulement de mon application ... ca fait seulement "tache" d'avoir une erreur comme ca en plein milieu...

Je pense qu'il doit y avoir un "truc MFC" que je n'ai pas du faire ... parce que ca me parait tres bizarre...
Pour info, l'erreur survient "souvent" (maintenant, ca n'est pas tout le temps le cas...) lorsque je déplace ma souris sur la toolbar... (maintenant, je peux me tromper...)
Quelques infos sur l'application : j'utilise plusieurs threads (que je controle  : 'normalement' l'erreur ne devrait pas venir de là...)

Voili voilou... si des gens ont déjà eu affaire avec cette erreur, merci de partager vos tuyaux ^_^

Merci d'avance pour les réponses :)
vendredi 25 février 2005 à 09:08:45 | Re : [MFC .NET] Erreur dans wingdi.cpp ligne 92

ymca2003

Pourrais-tu mettre le nom de la fonction de wingdi.cpp qui contient la ligne 92 ainsi que le code autour de cette ligne car je n'ai que la version de VC++ 6.0 sous la main et à cet endroit il n'y a pas grand chose.
vendredi 25 février 2005 à 13:45:48 | Re : [MFC .NET] Erreur dans wingdi.cpp ligne 92

vecchio56

Administrateur CodeS-SourceS
CDC* PASCAL CDC::FromHandle(HDC hDC)
{
    CHandleMap* pMap = afxMapHDC(TRUE); //create map if not exist
    ASSERT(pMap != NULL);
    CDC* pDC = (CDC*)pMap->FromHandle(hDC);
    ASSERT(pDC == NULL || pDC->m_hDC == hDC);  // LIGNE 92
    return pDC;
}
vendredi 25 février 2005 à 20:50:53 | Re : [MFC .NET] Erreur dans wingdi.cpp ligne 92

Atmaweapon

*confirme

Plus exactement, la call stack :
>    mfc71d.dll!CDC::FromHandle(HDC__ * hDC=0x0d0109f2)  Line 92 + 0x21    C++
     mfc71d.dll!CWnd::OnWndMsg(unsigned int message=20, unsigned int wParam=218171890, long lParam=0, long * pResult=0x0012f634)  Line 1895 + 0x9    C++
     mfc71d.dll!CWnd::WindowProc(unsigned int message=20, unsigned int wParam=218171890, long lParam=0)  Line 1745 + 0x1e    C++
     mfc71d.dll!CControlBar::WindowProc(unsigned int nMsg=20, unsigned int wParam=218171890, long lParam=0)  Line 503 + 0x14    C++
     mfc71d.dll!AfxCallWndProc(CWnd * pWnd=0x003c694c, HWND__ * hWnd=0x000d0544, unsigned int nMsg=20, unsigned int wParam=218171890, long lParam=0)  Line 241 + 0x1a    C++
     mfc71d.dll!AfxWndProc(HWND__ * hWnd=0x000d0544, unsigned int nMsg=20, unsigned int wParam=218171890, long lParam=0)  Line 389    C++
     mfc71d.dll!AfxWndProcBase(HWND__ * hWnd=0x000d0544, unsigned int nMsg=20, unsigned int wParam=218171890, long lParam=0)  Line 209 + 0x15    C++

lundi 28 février 2005 à 09:07:58 | Re : [MFC .NET] Erreur dans wingdi.cpp ligne 92

ymca2003

C'est extrèmement bizarre d'avoir un Assertion Failed à cet endroit étant donné qu'il s'agit juste de mapper un HDC sur un CDC* et que ce genre de table est utilisé pour tous les handles (HWND, HBITMAP...).

Ce que je peux suggéger, dans le code au lieu de faire :
CDC* pDC = CDC::FromHandle(hdc);
faire :
CDC dc;
dc.Attach(hdc);
CDC* pDc = &dc;
....
à la fin de la fonction :
dc.Dettach();
ça devrait marcher pareil.

Cependant ton problème d'assertion vient peut-être d'un écrasement mémoire qui corrompt les tables de mapping MFC.
lundi 28 février 2005 à 13:34:25 | Re : [MFC .NET] Erreur dans wingdi.cpp ligne 92

Atmaweapon

Le probleme, c'est que comme le montre la call stack, cette erreur est totalement indépendante de mon code puisqu'elle n'arrive pas dans une de mes routines mais elle survient dans une routine de la mfc.
Pour résumer : je n'utilise absolument pas la méthode statique FromHandle :) (et aucune méthode qui utilise cette méthode ... en tout cas au moment où provient cette erreur :) )


En revanche, ce qui doit etre la cause de ce probleme, doit ETRE ISSU de mon code : en gros, il y a quelque chose que j'ai 'mal' fait quelque part (qui doit 'corrompre les tables de mapping mfc' ou autre chose...).
Je regarderai tout ce qui concerne les contextes graphiques avant l'apparition de l'erreur pour voir si j'initialise 'bien' mes contextes graphiques.

je vous post ca ce soir pour vérification :)



Cette discussion est classée dans : net, erreur, mfc, cpp, wingdi


Répondre à ce message

Sujets en rapport avec ce message

Tester une font en Visual C++ .NET MFC [ par ThatSMI ] Je ne sais pas tester SIMPLEMENT l'existence d'une font en C++ projet MFC.L'accès au classe Font m'est imposible et les possiblités de la classe CFont erreur avec visual c++.net [ par chandlermoreno ] je ne comprends pas, je viens de lancer pour la premiere fois visual c++.net (chuis un newbie) et il e marke lerreur suivanteC4995: '_OLD_IOSTREAMS_AR dev-cpp : erreur resources compilation [ par Helkanen ] Salut !J'ai un probleme de compilation avec Dev-Cpp (je sais, c pas un compilateur) qui m'énerve beaucoup : je peux pas compiler la moindre resource ( erreur de conception? [ par frdestroyers27 ] Salut a tous!ca serait pour savoir si je fait une erreur de conception!j'ai un fichier main.cpp avec la fonction WinMain dedans qui contient juste un erreur MSVCRT.DLL - MFC [ par Rololo ] Salut à tous,lors de l'éxécution de mon programme, j'ai cette erreur qui s'affiche lorsque je clique sur un bouton : "unhandled exception in PROGRAMME [VisualC++ 6.0&MFC] Afficher une image provenant du net [ par CriPpLe ] Voila j'aimerai pouvoir integrer dans mon application une image qui provienne du net (qui marche comme pour le bbcode )Ou alors alternative, telecha shellexecute et mfc [ par dambeaufort ] bonjour,je developpe actuellement une application sous mfc.dans cette application, j'ai besoin de d'ouvrir et de lancer des fichier. Pour se faire j'u je doit pas etre doué pour les mfc [ par xXTomTomXx ] Alors voila,ds le view.h je déclare les variable du type CButton* BQuit.Dans view.cpp je déclare les évènemets associés aux boutons.Jusque la sa va.Ma DLL sur C++ [ par mayouma ] Je veux créer une DLL sur C++.Net mais j'ai pas su quel type choisir (Regular DLL with MFC, ou Regular DLL using Shared MFC DLL ou MFC extension DLL). Erreur de compilation ... [ par Tidam ] RE bijour a tous ! Voila quand je compil sous linux ma source, j'obtient les erreurs suivante : main.cpp:239: void value not ignored as it ought to be


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales