Initialiser des variables dans une méthode Statique
Bonsoir,
Je cherche à faire une Classe Chrono afin de pouvoir l'utiliser de façon simple dans mon programme. Ce que je souhaite faire, c'est utiliser des méthodes statiques afin de ne pas avoir à instancier d'objet.
J'ai ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| unit Chrono;
interface
uses Windows;
type TChrono=class
private
FFrequency : Int64 ; // Fréquence du compteur hautes performances.
FStart, FStop : Int64 ; // Valeurs du compteur au début et à la fin du chrono.
public
class Procedure Start;
class Function Stop:Extended;
end;
implementation
class procedure TChrono.Start;
begin
QueryPerformanceFrequency(FFrequency);
QueryPerformanceCounter(FStart) ;
end;
class function TChrono.Stop:Extended;
begin
Result:=(FStop-FStart)/FFrequency;
end;
end. |
Et j'ai ces messages d'erreurs :
Citation:
[Erreur] TChrono.pas(22): Variable instance 'FFrequency' inaccessible ici
[Erreur] TChrono.pas(23): Variable instance 'FStart' inaccessible ici
[Erreur] TChrono.pas(27): Variable instance 'FStop' inaccessible ici
[Erreur] TChrono.pas(27): Variable instance 'FFrequency' inaccessible ici
Est-ce possible de faire ce que je veux ? On utiliserai ainsi mon Chrono de cette façon :
Code:
1 2 3 4 5 6 7 8
| procedure TForm1.Button1Click(Sender: TObject);
var
Temps:Extended;
begin
TChrono.Start;
//Traitement
Temps:=TChrono.Stop;
end; |
Merci d'avance
Cordialement