Remplacement de TProcess.CommandLine
Bonjour à tous.
Débutant en Linux et en Lazarus j'ai le problème suivant
lorsque j'exécute la petite procédure qui suit tout se passe bien quand j'utilise Process.CommandLine. (avertissement à la compilation : commande obsolète)
lorsque j'exécute la même procédure MAIS en changeant VProcess.CommandLine par VProcess.Executable je récupère une remontrance : Executable not found: "'/bin/ls /media/jj/VERBATIM".
J'ai le même résultat en supprimant /bin/ dans la commande
Que faire :
- ignorer l'avertissement du compilateur jusqu'à la mort de cette option
- contourner le problème, mais comment ?
Merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
procedure TForm1.Button1Click(Sender: TObject);
var
VProcess: TProcess;
VStrTemp: TStringList;
begin
VProcess := TProcess.Create(nil);
VStrTemp := TStringList.Create;
try
VProcess.CommandLine := '/bin/ls /media/jj/VERBATIM';
// VProcess.Executable := '/bin/ls /media/jj/VERBATIM';
VProcess.Options := [poWaitOnExit, poUsePipes];
VProcess.Execute;
VStrTemp.LoadFromStream(VProcess.Output);
Memo1.Clear;
Memo1.Text := VStrTemp.Text;
finally
end;
VStrTemp.free;
end; |