Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| prog:lazarus:classes:tthread [23/04/2023 17:25] thierry [TThread] | prog:lazarus:classes:tthread [23/04/2023 17:44] (Version actuelle) thierry [Appel depuis l'application] | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== TThread ====== | ====== TThread ====== | ||
| ===== Titre ===== | ===== Titre ===== | ||
| - | <code delphi> | + | ==== Code du Thread ==== | 
| + | |||
| + | <code delphi code du Thread> | ||
| { TMyThread } | { TMyThread } | ||
| procedure TMyThread.Execute; | procedure TMyThread.Execute; | ||
| Ligne 22: | Ligne 24: | ||
| </code> | </code> | ||
| + | ==== Appel depuis l'application  ==== | ||
| + | <code delphi> | ||
| + | FThread := TMyThread.Create(True); // Create Suspended | ||
| + | FThread.OnTerminate:=@ReceptThreadTerminate; | ||
| + | FThread.Start; // et non pas Execute ! | ||
| + |  | ||
| + | </code> | ||
| + | ==== A Savoir... ==== | ||
| + | On appel pas directement ''Execute'' mais on démarre le Thread avec ''Start''. | ||
| + | |||
| + | On appel les méthodes "synchronisée" avec ''Synchronize(@MaProcedure)''. Donc il ne peut pas y avoir de paramètres a ces procédures... | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| ===== TThreadList : Partage de TList entre Threads ===== | ===== TThreadList : Partage de TList entre Threads ===== | ||