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

VC++ .NET Discussion :

stack overflow dans OPENFILENAME


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut 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 : 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);
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    a cette endroit :
    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.

  2. #2
    Membre averti
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Par défaut
    Bonjour,

    Je viens de compiler ce même code sous visual studio 8 et sous XP.
    Je n'ai aucun problème. Je suppose que cela viendrait de vista (plus de controle d'erreur).

    Bref c'est chiant mais pas bloquant.

Discussions similaires

  1. [GNU-Prolog][Mémoire] Local stack overflow
    Par Maxoo dans le forum Prolog
    Réponses: 15
    Dernier message: 04/06/2008, 22h15
  2. stack overflow: question insoluble
    Par coyotte507 dans le forum SDL
    Réponses: 3
    Dernier message: 19/12/2006, 17h50
  3. Stack OverFlow
    Par Goundy dans le forum Langage
    Réponses: 2
    Dernier message: 24/12/2005, 21h35
  4. Problème de stack overflow
    Par heider dans le forum Langage
    Réponses: 13
    Dernier message: 22/09/2005, 19h50
  5. Stack overflow
    Par portu dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2003, 15h16

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