Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
prog:lazarus:classes:tasyncprocess [02/03/2021 19:57] thierry créée |
prog:lazarus:classes:tasyncprocess [16/04/2023 14:24] (Version actuelle) thierry |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== TAsyncProcess ====== | ====== TAsyncProcess ====== | ||
| + | ===== Exemple d'utilisation ===== | ||
| + | {{:prog:lazarus:classes:tproc1.png?direct|}} | ||
| <code delphi> | <code delphi> | ||
| unit uMain; | unit uMain; | ||
| Ligne 37: | Ligne 39: | ||
| end; | end; | ||
| - | // Execution de la commande | + | // Execution de la commande -> ping google.fr -t |
| procedure TForm1.PingAsync; | procedure TForm1.PingAsync; | ||
| var | var | ||
| Ligne 48: | Ligne 50: | ||
| // Ajout des parametres | // Ajout des parametres | ||
| vProc.Parameters.Add('google.fr'); | vProc.Parameters.Add('google.fr'); | ||
| - | vProc.Parameters.Add('-t'); | + | vProc.Parameters.Add('-t'); // -t pour faire un ping perpétuel, on sera obligé de fermer la console pour arrêter le programme |
| vProc.Options := vProc.Options + [poUsePipes, poStderrToOutPut]; | vProc.Options := vProc.Options + [poUsePipes, poStderrToOutPut]; | ||
| - | vProc.OnTerminate := @ReceptAProcTerminate; | + | vProc.OnTerminate := @ReceptAProcTerminate; // Procedure qui gére la fin de processus |
| - | vProc.OnReadData := @ReceptReadData; | + | vProc.OnReadData := @ReceptReadData; // Procédure qui gére l'affichage des données reçues du processus |
| vProc.Execute; | vProc.Execute; | ||
| logf('Async.Execute pid=%d', [vProc.ProcessID]); | logf('Async.Execute pid=%d', [vProc.ProcessID]); | ||
| Ligne 95: | Ligne 97: | ||
| end. | end. | ||
| </code> | </code> | ||
| + | |||
| + | ====== Sources & Ressources ====== | ||
| + | * [[https://lazarus-ccr.sourceforge.io/docs/lcl/asyncprocess/tasyncprocess.html]] | ||
| + | |||