Главная страница
    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.051 c
1-1154089607
Peak
2006-07-28 16:26
2006.09.10
Собственный Инспектор объектов.


15-1155800785
Сергей М.
2006-08-17 11:46
2006.09.10
Непонятка при работе в связке Access2003 + MS VisualFoxPro ODBC


2-1155927508
ronyn
2006-08-18 22:58
2006.09.10
Таки не ответили


15-1155826819
ArtemESC
2006-08-17 19:00
2006.09.10
Забыл...


15-1155471301
Desdechado
2006-08-13 16:15
2006.09.10
Что скажете о качестве дисков Omega





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский