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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;