Message #5418
Sujet: Plantage programme à cause du récepteur d'évenement
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 03-01-2009 11:24:30 | dark calculator |
Salut
Je sais pas à quoi sert la fonction character::draw(), mais comme l'a plus ou moins dits yamashi, setEventReceiver ne doit être appelé qu'une fois, à moins que tu changes d'event receiver en cours de route. Enfin je connais pas assez ton code pour dire mais appelé une fonction draw me fait penser que tu vas l'appeler à chaque boucle, dans ce cas cela est inutile, une fois que l'event receiver est affecté il y reste. Enfin le problème ne vient pas vraiment de la tu cree dans la fonction draw un cEventReceiver dans la pile qui sera donc détruit à la fin de la fonction draw. Comme tu passe l'adresse de cet objet au device, celui-ci conserve l'adresse, et quand un event est crée il prends l'adresse et va chercher l'eventReceiver qui s'y trouve mais qui a été détruit, donc l'emplacement mémoire ne correspond pas => segfault. je suis pas sur d'avoir été bien explicite, mais en gros tu dois creer l'event receiver en tant qu'attribut de charactere ou bien le creer dans le tas(avec new) et penser à le détruire en fin de prog n'hésite pas à redemander si tu comprends pas dark calculator |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 102 invités en ligne membre en ligne: - RSS Feed |