Ich sehe da nicht durch.
Mache ich folgendes, anstelle von cat nehme ich ein Lazarus-Project und gebe diesem den *.pas Parameter mit, dann kommt dieser dort auch an.
Code: Alles auswählen
procedure TForm1.Button3Click(Sender: TObject);
var
AProcess: TProcess;
begin
AProcess := TProcess.Create(nil);
AProcess.Executable := 'project1';
AProcess.Parameters.Add('*.pas');
AProcess.Parameters.Add('-para');
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
Memo1.Lines.LoadFromStream(AProcess.Output); // Hier kommt alles schön retour, wie erwartet.
AProcess.Free;
end;
Hier wird alles empfangen, inklusive *.pas .
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 1 to ParamCount do begin
Writeln('Parameter ', i, '= ', ParamStr(i));
ShowMessage(ParamStr(i));
end;
end;
Wieso ist das bei /bin/cat nicht der Fall ?
Mit /bin/ls geht es auch nicht.