Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

чтение из COM порта   Найти похожие ветки 

 
suharew   (2006-05-10 19:13) [0]

Есть Com порт. Пытаюсь прочитать из него данные


Function ReadText: string;
var
  d: array[1..40] of Byte;
  s: string;
  BytesRead:cardinal;
   i: Integer;
begin
  Result := "";
  if not ReadFile(ComPort, d, SizeOf(d), BytesRead, nil) then
  begin
    { Raise an exception }
  end;
  s := "";
  for i := 1 to BytesRead do s := s +" "+ inttostr(d[i]);
  Result := s;
  if trim(s)="" then
    form1.Memo2.Lines.add("No data")
  else form1.Memo2.Lines.add(s);
end;



Все вроде работает, данные я получаю. Но при чтении программа намертво зависает пока не прочитаю все данные. Как такое можно исправить. подскажите???


 
GanibalLector ©   (2006-05-11 01:04) [1]

посмотри в сторону SetCommTimeOuts, например


 
Anatoly Podgoretsky ©   (2006-05-11 08:56) [2]

Этот код должнен быть в отдельном потоке


 
Сергей М. ©   (2006-05-11 09:46) [3]

см. ReadFileEx()


 
tesseract ©   (2006-05-15 11:42) [4]

см структуру overlapped и используй потоки.



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
5-1139301255
Priest
2006-02-07 11:34
2006.09.10
Делегирование реализации интерфейсов


15-1156112610
Petr V. Abramov
2006-08-21 02:23
2006.09.10
Ловля на живца


3-1151101359
makvell
2006-06-24 02:22
2006.09.10
Вставка картинки в BLOB


3-1151744812
Lis'S
2006-07-01 13:06
2006.09.10
Пробелы в таблицах БД


15-1155692801
Батыр
2006-08-16 05:46
2006.09.10
Делпхи 5,,7