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 :

[MFC] Plantage de ShellExecute


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 84
    Par défaut [MFC] Plantage de ShellExecute
    Bonjour à tous !

    J'ai crée un activeX que j'appelle depuis IE et qui permet d'ouvrir des documents.

    Pour cela, j'utilise cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ((cOperation=="open-with")||((int)ShellExecute(AfxGetMainWnd()->m_hWnd, cOperation, 
    										cFilePath, NULL, NULL, SW_SHOWNORMAL)==SE_ERR_NOASSOC))
    		{
    			CString cOpenWith = "rundll32.exe shell32.dll,OpenAs_RunDLL " + cFilePath;
    			WinExec(cOpenWith.GetBuffer(),SW_SHOW);
    			cOpenWith.ReleaseBuffer();
    		}
    return S_OK;
    Mon problème est assez bizarre. De temps en temps et sur certaine machine (pas ma machine de dev, par exemple), et de façon aléatoire, mon programme plante sur le shellExecute.

    Est ce que ca pourrait venir du fait que je met le paramètre lpDirectory à NULL ou bien il faudrait que je rajoute quelquechose pour libérer une ressource ?

    Je n'ai vraiment pas d'idée sur la raison de ce plantage donc toute vos remarques sront les bienvenues.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu es sûr des valeurs de cOperation (parmis la lise autorisé).
    et de cFilePath.?
    je mettrais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TRACE("\ncOperation:%s cFilePath:%s",(const char *)cOperation,(const char *)cFilePath);
    pour faire tourner tout ça en mode debug trace pour voir..
    il serait intéressant de stocker le retour de shellexecute pour rapprocher le retour de la table des codes d'erreurs possible.


Discussions similaires

  1. [DLL MFC] Plantage et débugage d'une DLL
    Par basnifo dans le forum Visual C++
    Réponses: 13
    Dernier message: 15/09/2008, 09h13
  2. [MFC] Plantage sur LoadFrame
    Par thieum74 dans le forum MFC
    Réponses: 11
    Dernier message: 06/09/2007, 13h15
  3. [MFC] Plantage au deuxieme DoModal() avec TIMER
    Par ricky78 dans le forum MFC
    Réponses: 3
    Dernier message: 25/09/2006, 16h17
  4. [MFC] Plantage postmessage en release
    Par Hepm dans le forum MFC
    Réponses: 16
    Dernier message: 27/05/2006, 11h55
  5. Réponses: 11
    Dernier message: 20/03/2006, 14h42

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