Форум: "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