stack overflow dans OPENFILENAME
Bonjour,
J'espère avoir mis ce post au bon endroit.
Voila, je viens commencé un petit projet en utilisant le code récupéré à gauche (ou à droite, ça dépend de l'angle de vue).
Je bosse sous visual 9 et sous vista.
Voici le code qui permet l'ouverture de la fenêtre "Ouvrir"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
ZeroMemory(&fenetre,sizeof(fenetre));
fenetre.lStructSize = sizeof(OPENFILENAME);
fenetre.hwndOwner = hWnd;
fenetre.hInstance = hInstance;
fenetre.lpstrFilter = "Fichiers de scènes\0*.scn\0\0";
fenetre.nFilterIndex = 1L;
//fenetre.lpstrDefExt = "png";
fenetre.lpstrFile = fichier;
fichier[0] = NULL;
fenetre.nMaxFile = MAX_PATH;
fenetre.lpstrInitialDir = ".\\";
if(GetOpenFileName(&fenetre))
{
ModifyMenu(hmenu,IDM_RENDU, MF_BYCOMMAND | MF_GRAYED, IDM_RENDU, "&Lancer");
if(g_Scene.Init(fichier))
ModifyMenu(hmenu,IDM_RENDU, MF_BYCOMMAND | MF_ENABLED, IDM_RENDU,"&Lancer");
else
MessageBox(hWnd,"Erreur de chargement, syntaxe fausse.","Erreur",MB_OK|MB_ICONERROR);
}
else
MessageBox(hWnd,"test","Erreur",MB_OK|MB_ICONERROR); |
Lorsque la fenêtre se ferme (fichier trouvé, croix en haut à droite ou bouton annulé) j'ai une erreur qui s'affiche (en mode debug seulement).
Voici l'erreur de retour :
Unhandled exception at 0x004161e7 in RayTracerWin.exe: 0xC00000FD: Stack overflow.
Quand je regarde la pile d'appel je vois que c'est un appel dans :
Code:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
a cette endroit :
Code:
1 2
| default:
return DefWindowProc( hWnd, message, wParam, lParam ); |
Cela ne plante pas le programme, mais je pense que ce n'est pas normal. Je n'arrive pas a comprendre d'où cela peut venir, si quelqu'un a une idée, ou une suggestion, par avance merci.