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

Windows Discussion :

CWnd::Detach(HWND) crash


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    904
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 904
    Points : 85
    Points
    85
    Par défaut CWnd::Detach(HWND) crash
    Bonjour,

    Voilà ces ligne de codes crash :
    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
    void CmfcmultipleconsoleDlg::OnBnClickedButton2()
    {
    	if (vec2.m_hWnd!=NULL)
    	{
    		HWND h=vec2.Detach();
    		//::DestroyWindow(h);
    		
    		//vec1.DestroyWindow();
    	}
    	else
    	{
    //....
    		///recreate control
    //....
    	}
    }
    à l'aide !

    Je ne sais si c'est moi ou les MFC qui bug ? !

    Voilà ou ca m'améne quand je détache le composant vec2 qui est un controle dont son comportement est définit dans une librairie.

    Ca ne marche pas quand la library est chargé en stream ou en natif ;

    Pire en encore , j'ai ce probléme uniquement sur la platform x64 ou AMD64.

    Avez-vous une solution ? merci beaucoup



    ;
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    904
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 904
    Points : 85
    Points
    85
    Par défaut ouff , résolu mais ...
    ouufff

    Ca semble fonctionner.
    J'avais essayer de le reproduire sur une maquette.



    J'ai remplacé ces lignes incriminer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           HWND gf=b1.GetSafeHwnd();
    	::DestroyWindow(gf);
    	b1.Detach();
    et cela semble fonctionner.
    Mais est - ce bon ?

    Car je voudrais en sorte supprimer un controle ("b1" par exemple)

Discussions similaires

  1. Obtention du CWinApp* à partir d'un CWnd* ou HWND
    Par tranxen79 dans le forum C++
    Réponses: 2
    Dernier message: 13/01/2008, 12h50
  2. VBA et hWnd
    Par Requin15 dans le forum Général VBA
    Réponses: 6
    Dernier message: 23/03/2005, 12h33
  3. Recupérer un HWND a partir d'un HINSTANCE
    Par yotasse dans le forum Windows
    Réponses: 2
    Dernier message: 30/01/2004, 16h00
  4. DLL Borland chargée par Windows: crash
    Par bocher dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/01/2004, 12h09
  5. Crash Base Access
    Par Ronald G. dans le forum Access
    Réponses: 4
    Dernier message: 04/08/2003, 11h55

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