[lazarus] TProcess parameters...

Marco van de Voort marcov at stack.nl
Sat Jun 21 18:43:09 EDT 2003


> At 16:37 21-6-2003 -0600, Tom Lisjac wrote:
> 
> >TProcess has been working great, but I've run into a parameter passing
> >issue that I haven't been able to resolve:
> >
> >Setup:
> >Options:=[poUsePipes,poNoConsole];
> >ApplicationName:='';
> >CurrentDirectory:='';
> >
> >The following works fine and returns the full directory listing via
> >standard out:
> >
> >CommandLine:='ls /mnt/disk/redhat9/release';
> >
> >The same line fails when an ambiguous file qualifier is added. The ls
> >command returns a "file not found" in standard error. There are 1400+
> >rpm's in the directory.
> >
> >CommandLine:='ls /mnt/disk/redhat9/release/*.rpm';
> 
> 
> A first shot here. When you issue ls *.rpm from a shell, the * is expanded 
> by your shell and it is'nt passed to ls. ls get (in your case) all 1400 
> files as argument.
> 
> What you are excuting is something like ls "*.rpm" and that file does not 
> exist.
> 
> >I've looked at the TProcess code and can't seem to find any problems
> >there. CommandToList and MakeCommand both seem to return the expected
> >results. I've concluded the problem may be in CreateProcess... but I
> >can't seem to run it down.
> >Any suggestions would be appreciated! :)
> 
> Hope it helped.

There is a shell() call for this in unit Unix/Linux IIRC.






More information about the Lazarus mailing list