Crash
Le crash à la fermeture a été localisé.
Il se produit quand l'application est fermée alors que l'Agenda est encore ouvert, mais pas de façon systématique. A la réflexion, il y avait le même problème sur les autres outils.
Le phénomène est étrange, car la fermeture de l'application par le menu déclenche une procédure utilisée depuis des années, qui ferme d'abord les dialogues ouverts, puis les outils ouverts, puis la Barre, et enfin sauve les fichiers et liquide les dernières variables avant de rendre la main. C'est après toutes ces opérations (après la dernière ligne de code XT) que quelque chose déclenche un changement de sélection dans la liste des évènements ! La fenêtre de l'Agenda étant fermée et toutes ses variables détruites, le crash se produit quand le code tente de récupérer la donnée utilisateur pointée par la sélection.
Cela ressemble à une mise à jour "tardive" de Windows sur des composants fantômes. Il est peu probable que ça puisse être empêché, donc la correction sera sans doute un blindage du code à cet endroit. Mais pour le moment le blindage explose car il utilise des variables... détruites à la fermeture.
Lun 28/01/2013 - Actualités
-
- Administrateur du site
- Messages : 817
- Enregistré le : mer. 22 juin 2011 18:25
-
- Administrateur du site
- Messages : 817
- Enregistré le : mer. 22 juin 2011 18:25
Lun 28/01/2013 - Actualités
AntiCrash
Un système AntiCrash a été branché dans les outils utilisant des ListView, puisque ce sont eux qui sont mis à jour après leur destruction.
La trace est automatiquement activée lors de la fermeture afin de collecter les cas possibles via le fichier XTools.log :
La suite des tests va permettre de valider le système anticrash.
Un système AntiCrash a été branché dans les outils utilisant des ListView, puisque ce sont eux qui sont mis à jour après leur destruction.
La trace est automatiquement activée lors de la fermeture afin de collecter les cas possibles via le fichier XTools.log :
Code : Tout sélectionner
2013-01-28 11:27:19 Info XTools Terminated
2013-01-28 11:27:19 Info AntiCrash (TAgenda_Form.Agenda_List_OnChange)
2013-01-28 11:27:19 Info AntiCrash (TContacts_Form.Contacts_List_OnChange)
-
- Messages : 180
- Enregistré le : jeu. 23 juin 2011 09:21
Re: Lun 28/01/2013 - Actualités
En fait c'est ta trace qui fait le crash, car son parent est la fenêtre détruite LOL