Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

чтение из 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.043 c
15-1150837157
Strate
2006-06-21 00:59
2006.09.10
Opera 9 Final!!!


15-1155104429
McSimm
2006-08-09 10:20
2006.09.10
Turbo News


15-1155621138
Sam Stone
2006-08-15 09:52
2006.09.10
Спиральные галактики


15-1155537715
Furyz
2006-08-14 10:41
2006.09.10
SWI.Чей это формат?


15-1155749638
VictorT
2006-08-16 21:33
2006.09.10
Притащился от формы регистрации на форуме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский