Вверх ↑
Ответов: 4663
Рейтинг: 767
#1: 2018-03-07 13:06:26 ЛС | профиль | цитата
Нужно читать не один раз, а в цикле. Пример чтения можно глянуть в компоненте WinExec:
THIWinExec.Read;

if not PeekNamedPipe(hPipeOutputRead,nil,0,nil,@Total,nil) then bError := true;
    if Total>0 then begin
bWait := false;
if ReadFile(hPipeOutputRead, pBuffer, 1024, Total, nil) then begin
pBuffer[Total] := #0;
_hi_OnEvent(_event_onConsoleResult, pBuffer);
end;
end;
Непонятно: а что, чтение в цикле из точки Read не даёт тот же результат (они же читают из одного и того же STDIN)? Просто соедини прочитанное из InParams с тем, что потом считаешь из Read (а лучше, поставить Method=Get, и всё считать из Read).
карма: 26

0
Редактировалось 2 раз(а), последний 2018-03-07 13:09:46