Отмена чтения чтения ввода - PullRequest
0 голосов
/ 23 апреля 2020

Я использую константу l oop ReadLn для получения ввода команды. Но когда дело доходит до многопоточности, у меня возникает проблема:

var command: string;

function ThreadTest(p: pointer) : ptrint;
begin
  Delay(500);
  WriteLn('THREAD TEST');
end;  
{...}
BeginThread(@ThreadTest); 
ReadLn(command);

«THREAD TEST» записывается в поле ввода.

Есть ли способ предотвратить это? Я не хочу ждать, пока поток завершит sh, чтобы вызвать ReadLn. Нужно ли переписывать ReadLn с помощью ReadKey? Я использую Free Pascal с Crt и Windows.

EDIT : мне нужно написать 'THREAD TEST' как новую строку и переместить ReadLn вниз на 1 tcrtcoord, так THREAD TEST отображается правильно. WriteLn работает отлично и по назначению, если не вызывается, когда ReadLn находится в процессе.

...