Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не работает дозвон ; :( [D6, Win2k]


AndrewK ©   (2002-11-04 10:15:00) 

Уважаемые мастаки, подскажите как быть!

Пишу программу которая должна устанавливать модемомную связь. Для начала надо установить эту связь. У меня есть три попытки после которых, если соединение не установлено, выдается сообщение об ошибке. Завел счетчик неудавшихся попыток и при каждом перезвоне увеличиваю его. Если превышаю число 3, то вывожу ощибку.
Сейчас использую Async32 компонент TVaModem. Там есть события OnConnected и OnNoCarrier.
Набираю номер. На событие OnConnect выполняю какие-то действия, на событие OnNoCarier запускаю таймер задержки между попытками. У него на OnTimer вызываю метод повтора дозвона.

Проблема в том, что событие OnNoCarier возникает до того, как модем положит трубку. У меня возникает ситуация, когда программа пытается набрать номер пока трубка еще поднята. И все начинает плыть.
Может есть другие хорошие компоненты для работы с модемом, которые выдавали бы события после того как они произошли.

Может быть правильнее будет использовать другие подходы к решению такой задачи?


Vad   (2002-11-05 03:20:00) [1]

Событие OnNoCarier возникает, когда модем
выдает строку NO CARRIER.
чтобы точно быть уверенным, что модем положил трубку
выдаешь
+++переход в коммандный режим
ATHпринудительный разрыв.


Геннадий   (2002-11-04 20:11:00) [2]

"AT A" - Go off-hook and attempt to answer a call.


"AT H1" - If on-hook, go off-hook and enter command mode.



В событии OnNoCarier дай модему команду положить трубку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо