Возникла у меня такая вот проблема с классом TThread. Хочу запустить несколько потоков, в которых бы использовались pipes.
Для начала создал один поток для проверки с таким вот кодом:
- Код: Выделить всё
uses
cthreads,Classes,Unix;
TPingThread = class(TThread)
protected
procedure execute(); override;
end;
procedure TPingThread.execute;
var
p: TextFile;
s: String;
begin
popen(p,'ping 1.2.3.4','r');
repeat
ReadLn(p,s);
WriteLn(s);
until EOF(p);
pclose(p);
end;
var
MyPing: TPingThread;
begin
MyPing := TPingThread.Create(True);
MyPing.Resume;
end.
НО результата пинга на мониторе не увидел. Если вместо тела метода Execute даю просто WriteLn('Test'), то на мониторе печатает Test.
То есть, я так понимаю, поток рабочий. Не подскажете в чем может быть проблемка?