Bonjour,
Je développe une application qui gère plusieurs trheads de même type. Le type dérive de TThread.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 type PTThreadTmp = ^TThreadTmp; TThreadTmp = class(TThread) private Toto : String; protected procedure Execute; override; public constructor Create(CreateSuspended:Boolean); destructor Destroy; override; end;
Je voudrais obtenir la liste exhaustive des threads qui ont été créés par mon application ?
Pour cela j'ajoute dans le constructor create :
Puis dans le destructor :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyList.Add(Self);
(MyList a été créé dans Initialization)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Index:=MyList.IndexOf(Self); MyList.Delete(Index);
Dans ma fonction qui parcours l'ensemble des objets de MyList je procède comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For i:=0 To Pred(ListOfRess.Count) Do Begin pThread:=PTThreadTmp(MyList .Items[i]); Result:=Result+pThread.Toto+Crlf; End;
Mais j'ai des violations d'accès.
Comment faire pour enregistrer dans une TList mes objets TThreadTmp ?
Partager