begin process at 2012 05 30 12:41:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

wxWidgets : new et delete


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

wxWidgets : new et delete

mardi 26 octobre 2004 à 15:29:48 | wxWidgets : new et delete

Daimadoshi

slt tlm, voila je programme une IHM avec wxWidgets (v 2.4.2 + Dev c++ 4.9.9.0) mais je me rend compte qu'une chose me choque dans tt les tuto et exemples que j'ai lu : apres un new il n'y a jamais de delete !
pour une ligne genre de celle ci
m_noteBook = new wxNotebook( m_panel,ID_NOTEBOOK,wxPoint(5,0),wxSize (385,230) );

alors dans un soucis de propreté du code et de mon app j'ai mis les delete de chcun de mes pointeur qui on eu un new mais voila mon application plante lorsque je la ferme (mes delete sont dans le destructeur de la classe deriver de wxFrame )
bien sur aucun delete des page d'un notebook car elle sont gerré par le notebook

et pour finir : il faudrai aussi que je fasse un delete de l'objet de la classe deriver de wxFrame mais où ?j'ai essayer dans le destructeur de la classe deriver de wxApp mais ca plante a la fermeture !

alors comme solution que j'ai testé y a je ne fait pas d'objet dynamique (donc au lieu d'avoir comme attribut des pointeur y a des objets auxquels je fait un create ) mais la je comprend pas pourquoi mais le compilo est pas content
mardi 26 octobre 2004 à 15:46:53 | Re : wxWidgets : new et delete

djl

lis la doc, c'est sans doute ton api qui s'occupe de les libèrer

mardi 26 octobre 2004 à 16:13:10 | Re : wxWidgets : new et delete

Daimadoshi

bas justement j'ai lu la doc et la seule fois ou il en parle c'est pour les page d'un controle qui sont gerrer par le control et qui ne nessecite pas de faire de delete le reste ils en parle pas
mardi 26 octobre 2004 à 18:29:12 | Re : wxWidgets : new et delete

Funto66

Réponse acceptée !
Je confirme ce que dit djl; ne t'en fais pas, wxWidgets libère tout seul l'espace alloué. A la fin du programme, c'est à dire quand la fenêtre (wxFrame) principale est détruite, est appelée une méthode wxFrame::Destroy() si je me rappelle bien. Cette méthode fait tous les delete requis, en parcourant les widgets fils (boutons, menus...) et en les supprimant.
Par contre, si tu ne crées pas tes objets via new, effectivement le compilo sera pas content, parce qu'à un endroit dans le code de wxWidgets est fait un delete sur quelque chose qui n'est pas sur le tas...;)

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
mardi 26 octobre 2004 à 20:57:57 | Re : wxWidgets : new et delete

Daimadoshi

merci, j'avais surement mal regardé la doc.
mercredi 27 octobre 2004 à 11:01:15 | Re : wxWidgets : new et delete

fredcl

Bonjour,

Pour être précis c'est le parent qui s'occupe de supprimer ses enfants.

dans le cas décrit plus haut :

m_noteBook = new wxNotebook( m_panel,ID_NOTEBOOK,wxPoint(5,0),wxSize (385,230) );

c'est donc m_panel qui supprimeras m_noteBook

A+

Fred


Cette discussion est classée dans : classe, wxwidgets, delete, notebook, deriver


Répondre à ce message

Sujets en rapport avec ce message

Events et wxWidgets [ par Dany82 ] Voila, j utilise wxWidgets 2.6.0 avec Dev-cpp 4.9.9.2J ai une classe MainFrame, subdivisee en plusieurs parties (dont un wxNoteBook).Ce wxNoteBook est pb classe new et delete [ par mat74 ] salut a ts j'ai encore un pb avec les classescomment je pourrai faire sa :class teste {public: int x; void augmenter() {x++;} void detruire(test Problème de DLL [ par aztcaLISS ] Salut,J'ai créé une DLL.Dans cette DLL il y a une fonction qui me permet d'instancier une classe et de me retourner cette nouvelle instance comme ceci WxWidgets : wxSplitterWindow et Sizers [ par nacedo23 ] Salut! Je développe avec wxDevcpp.Voila mon probleme : Je veux couper ma fenetre en 2 avec un splitterwindow pour pouvoir redimensionner. A gauche, u implementer une classe controleur [ par dreamkiller_52 ] salut voila je doit implementer une classe controleur mais je sais pas trop quoi mettre dedant ni a quoi ca sert vraiment quelqu'un peut il m'aider me Devpack wxWidgets 2.6.0 pour Dev-Cpp 4.9.9.2 [ par fredcl ] Bonjour à tous, Pour ceux que celà interresse, WxWidgets vient de sortir (21/04/2005) en version stable 2.6.0. J'ai donc mis à votre disposition s template et héritage [ par cybermax62 ] j'ai un problème de fond dans ma conception. Je voudrais utiliser une classe template de base Singleton avec des classes héritées (plusieurs fois). Le pb d'importation d'une classe template à partir d'une DLL avec Visual Studio .NET [ par Diabolus ] Salut,J'ai un problème d'importation à partir d'une DLL.Je souhaite importer une classe qui est de type template dans mon application.J'ai réussi à im mysql devcpp 4.9.9.2 wxwidgets [ par nomad56 ] nomad56 ,salut je dois faire une gestion en c++ avec mysql devcpp 4.9.9.2 wxwidgets je suis tout juste débutant en c++ (en fait je connais un peu en c convertisseur euro-yen-dollar [ par AndromedaNoBakura ] bonjour,j'essaye de faire un convertisseur de monnaies en C++ (visualC++6.0) mais il semble y avoir un probleme de definition de ma classe mere.j'ai u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales