Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Получить вывод console app в TStringList


Автор: Alexeyt 9.9.2011, 10:41
Нужна процедура- запуск console app. (это понятно как) и 
и перенаправление вывода в StringList. Сразу предупреждаю- запуск cmd.exe /c app >a.txt
не подходит. Для Perl.exe это не работает.

procedure CatchApp(const exe, params: string; L: TStringList);

как-то через pipes.  smile 

Автор: Ne1tr1n0 9.9.2011, 12:35
http://forum.sources.ru/index.php?showtopic=51460
Только вместо мемо у тебя будет StringList

Автор: Alexeyt 9.9.2011, 13:22
Не оч. хорошо. Работает с командой "Perl.exe -h", но зависает- с "Perl.exe d:\t\a.pl" (a.pl- скрипт
с ошибкой из 2х строк).

Код

#!/bin/perl

write("test");
use NNNNN;


это тест для обоих процедур (по ссылке)

Автор: Alexeyt 9.9.2011, 13:44
точнее-
(из примеров)
Dos2Win("Perl.exe a.pl", Memo1) - зависает
RunDosInMemo("Perl.exe a.pl", memo1) - пустой вывод.

Автор: sCreator 9.9.2011, 15:30
В примере допиши
Код

StartupInfo.hStdError := hWritePipe; 


Добавлено через 6 минут и 27 секунд
И тут почитай, может что поможет
http://forum.vingrad.ru/act-ST/f-85/t-283247.html

Автор: Alexeyt 9.9.2011, 19:38
sCreator: кажется ОК.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)