Also ich hab mir die Lib. selbst noch einmal angeguckt und durch ne Änderung daran geht's jetz..
Delphi-Quellcode:
procedure TReadpipeThread.Execute;
var CS_Readdata :TCriticalSection;
begin
inherited;
CS_Readdata := TCriticalSection.Create;
while (WaitForSingleObject(m_pi.hProcess, 1) <> Wait_Object_0) do
begin
Synchronize(m_Client.Read_error);
Synchronize(m_Client.read_output);
if terminated then break;
end;
CS_Readdata.Free;
end;
Das ist die ursprüngliche Dingens wo der Output von PLink abgefragt wird. Das geschieht in der Funktion m_Client.read_output
Was ich jetzt geändert habe ist dieses Synchronize:
Delphi-Quellcode:
procedure TReadpipeThread.Execute;
var CS_Readdata :TCriticalSection;
begin
inherited;
CS_Readdata := TCriticalSection.Create;
while (WaitForSingleObject(m_pi.hProcess, 1) <> Wait_Object_0) do
begin
m_Client.Read_error; //<---
m_Client.read_output;//<---
if terminated then break;
end;
CS_Readdata.Free;
end;
Kann mir jemand erklären was ich damit verändert hab' und ob sich das evtl. negativ auswirken kann im späteren Verlauf?