PostNcDestroy (Win32 ????)

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 10 août 2004 à 12:19
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 19 août 2004 à 19:56
qui pourrait m'éclairer sur cette fonction

qd j'aV apris le C++, y aV un constructeur et un destructeur....

là en plus y a ce truc....
Appelé à la destruction de fenetre si G a peu pres compris

quel est son usage?
et vu que le destructeur n'y fait pas explicitement référence, est-ce un standard????
Win32???

Merci
++

Magic Nono: l'informagicien!

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 août 2004 à 13:06
Pas du tout API !!!
Fait partie du sabir MFC seulement.

ciao...
BruNews, Admin CS, MVP Visual C++
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 août 2004 à 21:48
permet de détruire la fenêtre MFC (CWnd et dérivés) lorsque la fenêtre Windows (HWND) est détruite et que la WndProc ne recoit plus de message (WM_NCDESTROY est le dernier).

sert pour toutes les fenêtres MFC créées dynamiquement (par un new ou CreateObject) dont la libération du CWnd manuelle n'est pas aisée (on sait pas où et quand le faire).
Quand la WndProc traite le dernier message WM_NCDESTROY, l'appel à PostNcDestroy est fait et là un appel à "delete this" est fait.

Donc c'est PostNcDestroy qui appelle le destructeur de la classe et pas l'inverse.
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
19 août 2004 à 16:43
merci YMCA pour ces précision...

Ca confirme ce que je pensais...

alors,
comment cela est-il réglé avec les API?

cette fonction évite les fuite de mem
(ça a été la soluce pr 1 soft que G créé récement)

et C vrai que les destructeurs n'étaient js appelés sans ça...

++
Magic Nono: l'informagicien! 8-)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2004 à 17:09
Avec les APIs on gere direct dans la wndProc.

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
19 août 2004 à 17:23
wndProc???

Magic Nono: l'informagicien! 8-)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 août 2004 à 17:36
Procedure de fenetre.
PostNcDestroy est sur quoi d'apres toi ?

ciao...
BruNews, Admin CS, MVP Visual C++
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 août 2004 à 19:56
l'artifice en question n'est utile que si le HWND et sa WndProc sont encapsulés dans une classe pour détruire les objets automatiquement.
Normalement, dans un prog utilisant les APIs et qqs classes cela est inutile si on gère ses fenêtres correctement (en maintenant quelque part un pointeur sur les objets créés).
0
Rejoignez-nous