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"
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).
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 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);
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 :
a cette endroit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager