Page 1 sur 1

Lun 05/08/2013 - Actualités

Posté : lun. 5 août 2013 18:56
par Xavier
Lun 05/08/2013 - Actualités


Options

Les nouvelles options ont été implémentées en fin de semaine dernière. Un certain nombre d'options XT3 a été supprimé, dont les actions à la fermeture. D'autres options ne sont plus présentes dans cette fenêtre :
  • L'onglet Outils a été remplacé par le Gestionnaire de commandes.
  • L'onglet Données est remplacé par les pages Données et Protection du Gestionnaire de données.
Options.png
Icône de la System Tray

Remettre à jour la fenêtre des options a nécessité de revoir l'utilisation de ces options, certaines n'ayant pas encore été réimplantées en XT4. La mécanique de clignotement de l'icône de la System Tray a donc été revue pour gérer le nouveau système autorisant de multiples alarmes en attente :
BlinkTrayIcon.png
Corrections

La fonction Cacher la Barre, qui provoquait un crash depuis un an et demi (et l'Alpha 05) a enfin été corrigée. Le crash n'étant pas reproductible en debug ligne à ligne, il a fallu passer par les logs. La raison des crashes était l'utilisation du nom de la Barre (Bar_Form) lors de la création des composants dynamiques, chose apparemment interdite dans le code de création de la Barre elle-même. Le plus étrange dans cette histoire est en fait l'absence de crash lors de la création initiale de la Barre, celui-ci ne survenant qu'après une "réduction".

Ensuite l'ouverture du menu contextuel de l'icône dans la System Tray rendait la totalité de l'application totalement inerte. Le moteur continuait de fonctionner mais impossible d’interagir. :shock: Une solution temporaire a été trouvée en désactivant un SetForeGroundWindow qui sert à rendre le menu effaçable en cas de clic à côté :

Code : Tout sélectionner

	// Affichage du menu
	SetForeGroundWindow(Handle);
	GetCursorPos(Position);
	Icon_Menu.Popup(Position.X, Position.Y);
	PostMessage(Handle, WM_NULL, 0, 0);
Et finalement l'interception des HotKeys ne fonctionnait plus. Il a fallu rétrofiter une portion du Noyau de XT374 pour réaliser que spécifier une autre méthode pour surcharger le WinProc semblait marcher mais perturbait fortement l'application (impossible de lui mettre un titre, de bouger la fenêtre du Noyau, etc...). Cette dernière correction a également réparé le menu contextuel de la System Tray.


Crashes

Ça devait arriver à force d'en rencontrer, le système qui intercepte les crashes a été modifié. Jusqu'à présent il informait du crash et fermait l’application sans sauvegarder les données. Il y a désormais deux messages, le second permettant de continuer ou de sauver après avoir sauvé les données :
Crash1.png
Crash2.png
Prochaines étapes
  • Utilisation des options pour la fonction (Occupation du) Processeur.
  • Implémentation des fonctions Date, Heure et Convertisseur, ce dernier sera capable de traiter 4 systèmes de dates :
    Convertor.png
  • Tests finaux sur la fenêtre des Options et leurs correctes utilisations par l'application.

Re: Lun 05/08/2013 - Actualités

Posté : mar. 6 août 2013 01:28
par Denis
waouh, ca progresse bien !!
Super ton détecteur de crash qui permet de sauver... Sans risque sur les données si les datas en mémoire sont déjà vérolées???

Re: Lun 05/08/2013 - Actualités

Posté : mar. 6 août 2013 07:36
par Xavier
DMo a écrit :... Sans risque sur les données si les datas en mémoire sont déjà vérolées???
Heu... pas vraiment sûr.
Pour le moment, les crashes rencontrés sont dus à des bugs dans les écrans, donc quand ça explose ça n'a pas eu le temps de corrompre les données, mais je pense que le risque est quand même très important.
Il faudra affiner le comportement en cas de crash quand on aura la sauvegarde automatique des données.

Re: Lun 05/08/2013 - Actualités

Posté : mar. 6 août 2013 09:35
par Denis
ou faire un backup des anciens fichiers dans un sous-rep AVANT de les écraser avec des données potentiellement vérolées...

Re: Lun 05/08/2013 - Actualités

Posté : mar. 6 août 2013 12:45
par Xavier
DMo a écrit :ou faire un backup des anciens fichiers dans un sous-rep AVANT de les écraser avec des données potentiellement vérolées...
Exactement.