Главная страница
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.49 MB
Время: 0.022 c
2-1193994748
Klawa
2007-11-02 12:12
2007.11.25
Помогите с чтением файла.


2-1193782252
vr-online
2007-10-31 01:10
2007.11.25
Жрет память


2-1194005205
master_asasin
2007-11-02 15:06
2007.11.25
Компонент TChart


2-1194096470
Pacific
2007-11-03 16:27
2007.11.25
Алгоритм


2-1193750843
DimOK
2007-10-30 16:27
2007.11.25
Как защитить свою программу от антивируса