Я использую константу 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 находится в процессе.