![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не работает дозвон ; :( [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 дай модему команду положить трубку.