Спасибо за ответ,
но про задержку я подумал в первую очередь, не причём оказалась пробовал до
от момента отправки строки в контроллер. Отклик приходит гарантированно раньше
------
Чтение порта и запись в Мемо1 синхронизируется между основным потоком и потоком чтения порта:
Код:
begin
ClearCommError(ComFile, Temp, @ComStat); //Заполняем структуру ComStat;
Btr:=ComStat.CbInQue; //Получаем из структуры количество байт;
If (Btr > 0) then //Если байты присутствуют,
begin
ReadFile(ComFile, Buffer, SizeOf(Buffer), Temp, @OverRead); //Читаем порт;
Synchronize(OutToMemo); //Делаем синхронный вызов процедуры загрузки буфера в Memo;
end;
end;
......
......
procedure MyThread.OutToMemo;
begin
Form1.Memo1.Lines.Text:=Form1.Memo1.Lines.Text+(String(buffer)); {Загружаем в Memo содержимое буфера;}
Buffer:=''; //Очищаем переменную буфера;
end;
тут как бы то же всё стандартно.......................
приоритет потока в котором крутится чтение порта - tpNormal,
однако чтение Мемо1 в Мемо2 не проходит (