Пытаюсь добавить в свою консольную программку возможность вытягивать кой-какую инфу из рабочей копии с помощью вызова клиента subversion (всё под windows). Для пробы есть такой код:
- Код: Выделить всё
SvnProcess := TProcess.Create(nil);
AStringList := TStringList.Create;
SvnProcess.Executable := 'svn';
SvnProcess.Options := [poUsePipes, poWaitOnExit];
SvnProcess.Parameters.Add('help');
SvnProcess.Execute;
//AStringList.LoadFromStream(SvnProcess.Output);
//Writeln(AStringList.Text);
SvnProcess.Free;
AStringList.Free;
Так вот, если в опции проставлена poUsePipes - всё зависает на SvnProcess.Execute; (дальше не исполняется, ждёт, т.е. будто бы висит сам svn). Если убрать poUsePipes - всё работает т.е. svn выводит свое сообщение посреди вывода моей программки в её консоль. Собсно, возможно ли чего-нибудь с этим сделать кроме как лезть в WinApi и TProcess-ом вообще не пользоваться? Ибо если я прально понял - единственный способ получить вывод процесса, запущенного TProcess-ом - включить пайпы и читать из них...