Fuites mémoire avec QT

Fuites mémoire avec QT - C++ - Programmation

Marsh Posté le 06-11-2002 à 12:30:41    

http://kadreg.free.fr/perso/UML/fuiteMemoires.gif  
 
Je suis en train de créer une application MDI avec QT (3.0.5).
 
Ma mainWindow a un QWorkspace dans lequel je crée des MyWindow (myWindow héritant de QMainWindow).
 
A MyWindow sont attachées les données de mon document. Le problème est que si je ferme ma fenètre, Les données ne sont pas détruites, et j'ai donc une superbe fuite mémoire. En effert, le destructeur de QMainWindow n'étant pas virtuel, il n'appelle pas le desctructeur que je me suis créé dans MyWindow.
 
Comment faire pour que le ménage sois fait proprement à la destruction d'une MyWindow ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 06-11-2002 à 12:30:41   

Reply

Marsh Posté le 06-11-2002 à 13:04:37    

J'ai trouvé, il fallait déléguer la gestion mémoire à QT. Chaque objet créé doit avoir un parent, et la destruction d'un objet entraine la destruction de ses éléments fils.
 
MyData herite de qobject, créé en tant que fils de MyWindow, donc la dfestruction de MyWindow entraine la destruction de MyDatas


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 06-11-2002 à 13:04:56    

Et valgrind r0x0r  [:darkmavis]


Message édité par kadreg le 06-11-2002 à 13:05:04

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 06-11-2002 à 13:52:02    

:hello: (antibide inside)

Reply

Marsh Posté le 06-11-2002 à 13:55:51    

Tu as vu, je code sous linux [:ddr555]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 06-11-2002 à 13:57:12    

kadreg a écrit a écrit :

Tu as vu, je code sous linux [:ddr555]




bah, t'es dans ta periode rebelz, ca va te passer :D

Reply

Marsh Posté le 06-11-2002 à 14:00:10    

I was here [:yaisse2]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed