Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RasDial, что возвращает когда занято 
:(
    Опции темы
pavelv
Дата 19.10.2006, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 5.2.2006

Репутация: нет
Всего: нет



Если честно такая проблема. RasDial работает всё ок, но если набираемый номер занят он не пишет ошибки. Полазил поиском, пишут что при возникновении дисконнекта пользоваться опять набором, использовать GetInternetConnectionState, но у меня такой функции почему-то нет. Единственно, что я заметил это если номер занят то возвращается ErrorCode=0 тоесть по нему можно отследить и включать повторный набор. Но тут проблема, это код возвращается также если модемное устройство не найдено и видимо при нект других ситуациях(всех не опишешь, но при них явно не стоит пытаться набирать номер повторно).
Код

function RasConnStatusString(State: TRasConnState; ErrorCode: DWORD = 0): String;
begin
  if ErrorCode <> 0 then
    Result := SysAndRasErrorMessage(ErrorCode)
  else
    case State of
      RASCS_OpenPort: Result := sRASCS_OpenPort;
      RASCS_PortOpened: Result := sRASCS_PortOpened;
      RASCS_ConnectDevice: Result := sRASCS_ConnectDevice;
      RASCS_DeviceConnected: Result := sRASCS_DeviceConnected;
      RASCS_AllDevicesConnected: Result := sRASCS_AllDevicesConnected;
      RASCS_Authenticate: Result := sRASCS_Authenticate;
      RASCS_AuthNotify: Result := sRASCS_AuthNotify;
      RASCS_AuthRetry: Result := sRASCS_AuthRetry;
      RASCS_AuthCallback: Result := sRASCS_AuthCallback;
      RASCS_AuthChangePassword: Result := sRASCS_AuthChangePassword;
      RASCS_AuthProject: Result := sRASCS_AuthProject;
      RASCS_AuthLinkSpeed: Result := sRASCS_AuthLinkSpeed;
      RASCS_AuthAck: Result := sRASCS_AuthAck;
      RASCS_ReAuthenticate: Result := sRASCS_ReAuthenticate;
      RASCS_Authenticated: Result := sRASCS_Authenticated;
      RASCS_PrepareForCallback: Result := sRASCS_PrepareForCallback;
      RASCS_WaitForModemReset: Result := sRASCS_WaitForModemReset;
      RASCS_WaitForCallback: Result := sRASCS_WaitForCallback;
      RASCS_Projected: Result := sRASCS_Projected;
      RASCS_StartAuthentication: Result := sRASCS_StartAuthentication;
      RASCS_CallbackComplete: Result := sRASCS_CallbackComplete;
      RASCS_LogonNetwork: Result := sRASCS_LogonNetwork;
      RASCS_SubEntryConnected: Result := sRASCS_SubEntryConnected;
      RASCS_SubEntryDisconnected: Result := sRASCS_SubEntryDisconnected;
      RASCS_Interactive: Result := sRASCS_Interactive;
      RASCS_RetryAuthentication: Result := sRASCS_RetryAuthentication;
      RASCS_CallbackSetByCaller: Result := sRASCS_CallbackSetByCaller;
      RASCS_PasswordExpired: Result := sRASCS_PasswordExpired;
      RASCS_Connected: Result := sRASCS_Connected;
      RASCS_Disconnected: Result := sRASCS_Disconnected;
    else
      Result := '';
    end;
end;

Вопрос как решить проблему, что меняется в компонентах Ras, если линия была занята?

ADD: При занятой линии ErrorCode=676, может он уникален для всех и всегда это будет означать что линия занята?(Для одной винды скорее всего так и есть, я думаю об NT, 98, Me, 2000...)

Это сообщение отредактировал(а) pavelv - 19.10.2006, 07:32
PM MAIL   Вверх
stab
Дата 24.10.2006, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



676 это ERROR_LINE_BUSY, на всех виндах так.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.