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 :

VC7 AfxGetMainWnd()


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut VC7 AfxGetMainWnd()
    J'ai un nouveau probl�me depuis ma conversion de VC6 en VC7, en effet, la fonction AfxGetMainWnd() ne retourne plus rien.
    Est-ce normal? Y a t-il une nouvelle fonction???

    Merci

  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,
    a mon avis il y a erreur sur le constat ,
    j'ai deja compiler des 10 de milliers de lignes sur vc7 et afxGetMainWnd() etait largement utilis� ..

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut Ca parait bizarre
    Mais j'ai pas fait de changement autres que les modifications de conversion alors je vois pas d'o� �a peut venir...
    Et surtout comment AfxGetMainWnd() peut retourner null ? Je vois pas bien d'o� pourrait venir l'erreur...

  4. #4
    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,
    a quel endroit est situ� l'appel ?
    ce qui est possible c'st que ton probleme soit temporel ( )...

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut
    L'appel est situ� dans une fonction dans ma classe document. Cette fonction est lanc� � partir d'un menu de mon application.

  6. #6
    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
    application SDI ou MDI ?

  7. #7
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut
    Application SDI.
    Mais j'utilise un CreateThread, est-ce que cela peut venir de �a?

  8. #8
    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
    par contre moi j'utiliserais AfxBeginThread au lieu de CreateThread
    dans une Appli MFC .

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut
    Avec AfxBeginThread , �a marche � priori... je rencontre d'autres pobl�mes du coup mais �a devrait �tre bon.

    Merci beaucoup

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    582
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 582
    Par d�faut
    Il y a bien une diff�rence dans la fonction AfxGetMainWnd() en VC7 et versions pr�c�dentes..
    En effet, cette fonction appel la fonction AfxGetThread(), or c'est cette fonction qui est diff�rente.
    en VC7 :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    CWinThread* AFXAPI AfxGetThread()
    {
      // check for current thread in module thread state
      AFX_MODULE_THREAD_STATE* pState = AfxGetModuleThreadState();
      CWinThread* pThread = pState->m_pCurrentWinThread;
      return pThread;
    }
    Et avant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CWinThread* AFXAPI AfxGetThread()
    {
      // check for current thread in module thread state
      AFX_MODULE_THREAD_STATE* pState = AfxGetModuleThreadState();
      CWinThread* pThread = pState->m_pCurrentWinThread;
      //if no CWinThread for the module, then use the global app
      if (pThread == NULL)
          pThread = AfxGetApp();
      return pThread;
    }
    C'est pourquoi en passant mon code en VC7 la fonction AfxGetMain me retourner NULL alors qu'avant �a marchait !!!

  11. #11
    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
    effectivement ,
    je ne comprends par leur modification ,

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    103
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 103
    Par d�faut
    C'est bien beau de savoir que �a fonctionne pas, mais y'a-t-il une fonction qui ferait sensiblement la m�me chose que "AfxGetMainWnd()" et qui fonctionnerait ici ?

    J

    Voici le code du callBack appel� par le thread secondaire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    /* static */ void WINAPI CPipeTestDlg::funcCallBack(string buf)
    {
        ::SendMessage(*AfxGetMainWnd(),WM_USER+1,0,(LPARAM)buf.c_str());
    }

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

Discussions similaires

  1. R�ponses: 3
    Dernier message: 30/08/2005, 17h22
  2. [VC7] Multithread et Critical section
    Par runn2 dans le forum MFC
    R�ponses: 4
    Dernier message: 05/05/2005, 14h04
  3. VC7, template et const
    Par charliejo dans le forum MFC
    R�ponses: 3
    Dernier message: 31/03/2005, 19h57
  4. [Win32-VC7]WaitableTimer
    Par jmv dans le forum MFC
    R�ponses: 7
    Dernier message: 25/09/2004, 11h24
  5. Fonctions template+friend sous VC7
    Par patapetz dans le forum MFC
    R�ponses: 12
    Dernier message: 24/09/2004, 11h16

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