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 :

Probl�me de code de sortie d'application


Sujet :

MFC

  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    D�cembre 2007
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 27
    Par d�faut Probl�me de code de sortie d'application
    Bonjour,

    Je suis sur un probl�me qui ne devrait pas en �tre un.

    Je n'arrive pas � faire sortir mon application avec un code d'erreur.
    J'utilise les MFC das ExitInstance ma derni�re ligne est return 3;
    Quand je teste avec un .bat r�cup�rant le %ERROR_LEVEL% ou quand je d�bug avec Visual Studio 2005 j'ai le droit � 0 comme code de sortie.

    J'utilise aussi la couche graphique BCGControlBar.

    J'avoue ne plus rien y comprendre. Est ce que quelqu'un � d�j� eu ce probl�me et si oui est ce qu'il a r�ussi � le corriger.

    Mon code en exemple (mais simplifi�)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int CXsUiApp::ExitInstance()
    {
       int iReturn = CWinThread::ExitInstance();
       return iReturn;
    }
     
    LRESULT CMainFrame::OnStartScriptTCL(WPARAM wparam, LPARAM)
    {
       PostQuitMessage(3);
       return 3;
    }
    Merci pour votre temps.

    Ambroise

  2. #2
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Salut !

    Il faudrait voir plus de code pour �tre s�r ...

    Premi�rement es-tu s�r que ton .bat fonctionne correctement ? L'as-tu test� sur un autre programme capable de te produire une valeur autre que 0 ?

    Ensuite si tu es s�r que le .bat est ok, tu devrais essayer d'intercepter le message WM_QUIT et v�rifier que le wParam vaut bien 3.

    Si ceci ne t'aide pas il faudra, comme j'ai commenc� par te le dire, nous donner plus de grain � moudre.

    Bon courage

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    D�cembre 2007
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 27
    Par d�faut
    Hello,

    Alors commen�ons par les r�ponses simples.
    Oui je l'ai test� avec autre chose que mon .bat Le d�bugger de visual studio qui me dit
    le programme '[515984] TetrisXPD.exe: Natif' s'est arr�t� avec le code 0 (0x0).
    Toujours au d�bugger j'ai bien 3 dans iReturn. J'ai m�me r�ussi � remonter dans les MFC jusqu'a la fonction main. Et dedans il y a
    crtexe.c
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    if ( !managedapp )
        exit(mainret);
    et mainret= 3 (vu au d�bugger).


    Apres pour donner plus de code ... Je ne sais pas .. En fait pendant que je tape ces lignes mon coll�gue est en train de trouver une piste.

    Cela viendrait de notre interpr�teur TCL qui est lanc� en thread. nous avons sett� la callback d'exit de tcl pour pouvoir arr�ter notre code proprement.

    pour arr�ter le script en cours on tue le thread avec terminateThread. Et la je n'ai pas la compr�hension, mais le fait de ne pas enlever la callback fait que lors de la sortie de l'application on a toujours 0.

    Personnellement je n'y comprends rien.


    En tout cas merci pour ton temps pass�.

    Ambroise

  4. #4
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    D�cembre 2007
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 27
    Par d�faut
    Bonjour

    Je vais mettre un compl�ment d'information sur mon probl�me qui est maintenant r�solu.

    Notre application embarque un interpr�teur TCL.
    Pour fermer correctement notre application si le mot clef TCL exit est appel� nous avons utilis�s des exitHandler qui sont mis en place � chaque lancement de script et enlever � la fin d�ex�cution.

    D�s qu'un script est lanc� en thread et que le mot clef exit est appel� l'application se ferme (logique) mais les exitHandler sont toujours pr�sent car le script s'arr�te brutalement. Et seulement dans ce cas le code de retour de notre application est toujours 0.

    Si avant la fermeture nous d�sactivons le exitHandler tout remarche correctement.

    Ce qui nous a mis la puce � l'oreille et que si un objet static dans son destructeur fait un exit(0); par exemple le code de retour de l'application est toujours 0 (en tous cas avec le programme de test que j'ai fait)

    Merci pour ceux qui se sont cass� la t�te dessus.

    Ambroise

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 02/08/2014, 12h44
  2. probl�me de code javascript pour une vue 360�
    Par tomguiss dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 14/03/2006, 22h50
  3. [POO] Probl�me de code PHP avec Internet Explorer
    Par bzoler dans le forum Langage
    R�ponses: 5
    Dernier message: 12/02/2006, 11h00
  4. Probl�me de code besoin d un petit depannage
    Par rakengoule dans le forum MFC
    R�ponses: 3
    Dernier message: 10/10/2005, 16h25
  5. Probl�me de code non portable
    Par Stany dans le forum Windows
    R�ponses: 2
    Dernier message: 23/08/2005, 11h02

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