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]] | ||
+ | |||