mirror of https://gitlab.com/basile.b/dexed.git
dexed process, drop the asyncproc events and only use the timer
This commit is contained in:
parent
94c2b5a713
commit
6fa4cf43f5
|
@ -240,7 +240,9 @@ begin
|
||||||
if not (poUsePipes in Options) then
|
if not (poUsePipes in Options) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
if assigned(Output) then
|
||||||
fill(Output, StdoutEx);
|
fill(Output, StdoutEx);
|
||||||
|
if assigned(Stderr) then
|
||||||
fill(Stderr, stderrEx);
|
fill(Stderr, stderrEx);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -293,13 +295,15 @@ end;
|
||||||
procedure TDexedProcess.setOnTerminate(value: TNotifyEvent);
|
procedure TDexedProcess.setOnTerminate(value: TNotifyEvent);
|
||||||
begin
|
begin
|
||||||
fRealOnTerminate := value;
|
fRealOnTerminate := value;
|
||||||
TAsyncProcess(self).OnTerminate := @internalDoOnTerminate;
|
|
||||||
|
//TAsyncProcess(self).OnTerminate := @internalDoOnTerminate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDexedProcess.setOnReadData(value: TNotifyEvent);
|
procedure TDexedProcess.setOnReadData(value: TNotifyEvent);
|
||||||
begin
|
begin
|
||||||
fRealOnReadData := value;
|
fRealOnReadData := value;
|
||||||
TAsyncProcess(self).OnReadData := @internalDoOnReadData;
|
|
||||||
|
//TAsyncProcess(self).OnReadData := @internalDoOnReadData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDexedProcess.internalDoOnReadData(sender: TObject);
|
procedure TDexedProcess.internalDoOnReadData(sender: TObject);
|
||||||
|
@ -337,7 +341,12 @@ end;
|
||||||
procedure TDexedProcess.checkTerminated(sender: TObject);
|
procedure TDexedProcess.checkTerminated(sender: TObject);
|
||||||
begin
|
begin
|
||||||
if Running then
|
if Running then
|
||||||
|
begin
|
||||||
|
if assigned(Output) and assigned(StdErr) then
|
||||||
|
if Output.NumBytesAvailable + Stderr.NumBytesAvailable > 0 then
|
||||||
|
internalDoOnReadData(self);
|
||||||
exit;
|
exit;
|
||||||
|
end;
|
||||||
fTerminateChecker.Enabled := false;
|
fTerminateChecker.Enabled := false;
|
||||||
internalDoOnTerminate(self);
|
internalDoOnTerminate(self);
|
||||||
end;
|
end;
|
||||||
|
|
Loading…
Reference in New Issue