Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

переназначение станрартного выхода в поток   Найти похожие ветки 

 
oleg_   (2006-05-29 17:48) [0]

CreateProcess позволяет через TStartupInfo.hStdOutput переопределить стандартный  выход на handler, если подставить handler открытого на запись файла, то весь выход сыпется в него.
А вот как привязать стандартный выход к потоку tstream?
Сапсибо


 
umbra ©   (2006-05-29 18:10) [1]

если имеется в виду TFileStream, то у него есть свойство Handle


 
TUser ©   (2006-05-29 18:12) [2]

Просто в стрим не выйдет, т.к. это абстрактный класс, который ничего еще не умеет. Можно в какой-нибудь из наслдников класса THandleStream.


 
oleg_   (2006-05-29 21:05) [3]

сделал через пайпы, стандартный выход сразу льется в поток, но уж очень медленно получилось. Процесс при перенаправлении стандартного выхода в файл для далнейшего считывания его в поток выполняется в 20 раз быстрее чем при направлении выходного потока в пайп!  Пайпы в принцыпе медленные или может я накосячил?


 
Eraser ©   (2006-05-29 21:22) [4]


> oleg_   (29.05.06 21:05) [3]


> Пайпы в принцыпе медленные или может я накосячил?

второе )


 
oleg_   (2006-05-29 23:14) [5]

как только назначаю пайповый стандартный выход  SI.hStdOutput:=cWrite; появляются дикие тормоза на WaitForSingleObject, вродебы все верно...

 SA.nLength:=SizeOf(SECURITY_ATTRIBUTES);
 SA.bInheritHandle:=True;
 SA.lpSecurityDescriptor:=nil;
 if not CreatePipe(tRead, cWrite, @SA, 0) then Exit;
 ZeroMemory(@SI, SizeOf(TStartupInfo));
 SI.cb:=SizeOf(TStartupInfo);
 SI.dwFlags:=STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;
 SI.wShowWindow:=SW_HIDE;
 SI.hStdOutput:=cWrite;
 if CreateProcess(nil, PChar(CommandLine), nil, nil, True, 0, nil, nil, SI, PI)
 then begin
        WaitForSingleObject(PI.hProcess, 5000);
        ResponseInfo.ContentStream:=THandleStream.Create(tRead);



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
2-1150913706
mctarik
2006-06-21 22:15
2006.07.09
Кто сегодня за старшего?


15-1149796046
Google_fanat
2006-06-08 23:47
2006.07.09
Паника, googlepages.com не работает.


3-1147330152
Ярослав
2006-05-11 10:49
2006.07.09
ProgressBar на время выполнения запроса


2-1150726094
evgenij_
2006-06-19 18:08
2006.07.09
QReport


2-1151081404
Зм1й
2006-06-23 20:50
2006.07.09
Вопросы по регистрации расширения