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

Вниз

Чтение из сом порта   Найти похожие ветки 

 
F@T@L_Err0r ©   (2007-11-01 10:28) [0]

Добрый день.У меня такой вопрос: Пытаюсь читать из сом порта

ReadFile(hPort,Buf,SizeOf(Buf),s,nil);

и прога виснет намертво.Может я чего не учел?Порт открываю нормально CreateFile(..). Заполняю TDCB.


 
Darvin ©   (2007-11-01 10:31) [1]

код в студию.
>ReadFile(hPort,Buf,SizeOf(Buf),s,nil);
что такое Buf, s, hPort?


 
F@T@L_Err0r ©   (2007-11-01 10:32) [2]

var hPort:Thandle;
Buf:array[0..5] of integer;
s:cardinal;


 
Reindeer Moss Eater ©   (2007-11-01 10:35) [3]

Прога не виснет, она выполнила синхронный вызов и ждет данных


 
F@T@L_Err0r ©   (2007-11-01 10:35) [4]

А как установить таймаут для ожидания?


 
Reindeer Moss Eater ©   (2007-11-01 10:37) [5]

Как ни странно SetCommTimeouts


 
F@T@L_Err0r ©   (2007-11-01 10:47) [6]

var    ss:TCommTimeouts;
begin
ss.ReadIntervalTimeout := 5000;
ss.ReadTotalTimeoutMultiplier := 100000;
SetCommTimeouts(hPort,ss);

Все равно ждет бесконечно...


 
Reindeer Moss Eater ©   (2007-11-01 10:50) [7]

Во первых там полей гораздо больше.
Во вторых правильно установленные таймауты это еще далеко не все.
В третьих с таким подходом как у тебя правильнее и проще взять какой-нибудь готовый компонент компорта.


 
Маша Шрайбер ©   (2007-11-01 10:52) [8]

С таким подходом правильнее и проще взять метлу.


 
F@T@L_Err0r ©   (2007-11-01 10:55) [9]

> В третьих с таким подходом как у тебя правильнее и проще взять какой-нибудь готовый компонент компорта.

А например какие компоненты можно использовать???


 
Reindeer Moss Eater ©   (2007-11-01 10:55) [10]

например любые


 
vegarulez ©   (2007-11-01 11:09) [11]

http://sourceforge.net/projects/comport/
http://valery-us4leh.narod.ru/main.html


 
Anatoly Podgoretsky ©   (2007-11-01 12:35) [12]


> ss.ReadIntervalTimeout := 5000;
> ss.ReadTotalTimeoutMultiplier := 100000;
> SetCommTimeouts(hPort,ss);

может ты не дождался, поскольку у тебя таймут равен 5000*10000*6 миллисекунд, ты ждал 3 000 000 секунд?


 
Anatoly Podgoretsky ©   (2007-11-01 12:36) [13]


> С таким подходом правильнее и проще взять метлу.

Предложение правильное, но запождалое.


 
Германн ©   (2007-11-02 00:48) [14]


> F@T@L_Err0r ©   (01.11.07 10:55) [9]
>
> > В третьих с таким подходом как у тебя правильнее и проще
> взять какой-нибудь готовый компонент компорта.
>
> А например какие компоненты можно использовать???
>

Более полумесяца Сергей М. тебе уже предлагал очень хороший вариант в посте [15] вот в этой твоей же ветке:
http://delphimaster.net/view/2-1192513567/



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

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

Наверх




Память: 0.5 MB
Время: 0.02 c
2-1193911010
SveTTT
2007-11-01 12:56
2007.11.25
Вызов печати по нажатю комбинации кнопок


15-1192196946
TwentyThird
2007-10-12 17:49
2007.11.25
Программист - одна из худших профессий 21-го века


15-1193293364
shadowonline
2007-10-25 10:22
2007.11.25
Остановка загрузки Windows до окончания работы программы


15-1193068903
Ученик
2007-10-22 20:01
2007.11.25
Посоветуйте простой графический редактор сайтов


2-1194152483
Alex8
2007-11-04 08:01
2007.11.25
Объединение трех таблиц