tu peux instancier la variable dans la partie initialization genre
quelque part dans l'unité (je pense juste après implementation)
1 2 3
|
var
_Singleton: TBidule = nil; // voir si le Create est possible ici avec les nouvelles versions, en D7 faut constante |
------ METHODE VIA INITIALIZATION/FINALIZATION ------
1 2 3 4 5 6 7 8 9 10
|
initialization
_Singleton := TBidule.Create();
finalization
if Assigned(_Singleton) then
begin
_Singleton.Free();
_Singleton := nil;
end; |
------ METHODE VIA METHODE DE CLASSE ------
1 2 3 4 5
|
type
TBidule = class(TMachin)
class function Singleton: TBidule;
end; |
1 2 3 4 5 6 7 8
|
class function TBidule .Singleton: TBidule;
begin
if not Assigned(_Singleton) then
_Singleton := TBidule.Create();
Result := _Singleton;
end; |
Partager