Page 1 sur 1

Mar 06/08/2013 - Fonctions

Posté : mar. 6 août 2013 12:55
par Xavier
Mar 06/08/2013 - Fonctions


La fonction Occupation du processeur fonctionne enfin correctement dans tous les modes configurables :
CPUPanel.png
Les résultats incohérents qui étaient obtenus jusqu'à présent étaient dus au fait que le module utilisé (AdCpuUsage) renvoie 0% s'il est appelé trop rapidement après un appel précédent.
Désormais XT4 ne fait qu'un seul appel par demi-seconde et utilise les données récupérées pour calculer le taux de chaque processeur présent, selon l'option choisie.
Il a fallu trouver quelque chose pour stimuler le processeur, et après avoir lancé quelques scans d'antivirus, c'est un simulateur de charge CPU qui a été utilisé.

Mar 06/08/2013 - Fonctions

Posté : mar. 6 août 2013 15:19
par Xavier
Date et heure


Les panneaux de la date et de l'heure sont de retour, leur largeur est désormais calculée dynamiquement à partir de la taille de la chaîne maximale qu'ils peuvent afficher dans la police en cours, ce qui devrait éviter les problèmes de panneaux trop petits sur les ordinateurs n'ayant pas la police standard (Tahoma) que XT4 utilise.
DateTimePanels.png

Re: Mar 06/08/2013 - Fonctions

Posté : mar. 6 août 2013 15:47
par Frederik
Cool, ça continue de bien avancer.
Pour l'occupation processeur, ça signifie qu'on pourra choisir entre afficher une seule icône globale et/ou afficher une icône par core ?

Re: Mar 06/08/2013 - Fonctions

Posté : mar. 6 août 2013 16:59
par Xavier
FBu a écrit :Cool, ça continue de bien avancer.
Pour l'occupation processeur, ça signifie qu'on pourra choisir entre afficher une seule icône globale et/ou afficher une icône par core ?
Yes !
CPUOptions.png

Mar 06/08/2013 - Fonctions

Posté : mar. 6 août 2013 17:02
par Xavier
Traduction dynamique


La traduction dynamique fonctionne à nouveau.

Contrairement à XT3 où il fallait ajouter un appel à la méthode de traduction de chaque fenêtre, il y a désormais une boucle sur les XDs (les objets de paramétrage qui correspondent à chaque outil), puis un appel à distance via cette nouvelle procédure magique (c'est une sorte de polymorphisme forcé) :

Code : Tout sélectionner

//------------------------------------------------------------------------------
// XT400 / Call_Procedure
//------------------------------------------------------------------------------
procedure Call_Procedure(Form_Pointer: Pointer; Procedure_Name: String);
type
	Method_Call = procedure of Object;
var
	Method_Record: TMethod;
begin
	// Log
	XSK_Log('Code', 'XKernel', 'Call_Procedure');

	// Préparations
	Method_Record.Data := Form_Pointer;
	Method_Record.Code := TForm(Form_Pointer).MethodAddress(Procedure_Name);

	// Appel
	if	Method_Record.Code <> Nil
	then	Method_Call(Method_Record);
end;