Bonjour,
Je m'interrogeais sur la meilleure manière de faire pour un objet singleton utilisant des procédures requérant des variables globales.
La structure actuelle est la suivante :
Serait-il plus "propre" de déclarer les procVar en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 implementation var UneSeuleInstance: TMyObject = nil; // ici les variables utiles à mes procédures, settées par mon objet procVar1, procVar2: integer; procedure CallBack(aParam: integer); begin //... end; procedure TMyObject.Create; begin if Assigned(UneSeuleInstance) then raise Exception.Create('Une seule instance de TMyObject autorisée ; désolé.') else inherited Create; UneSeuleInstance:=self; // car singleton //... end;
1) class var en "compliquant" leur appel dans les CallBacks (TMyObject.procVar1) ?
2) membres privés de la classe, puisqu'une seule instance (UneSeuleInstance.procVar1) ?
3) autre ?
Merci pour vos avis !
Partager