WinInet: Кому удалось все-таки закрыть соединение?
От: OlegCPlusPlus  
Дата: 12.07.02 14:03
Оценка:
Всем привет!
Проблема известная всем, я надеюсь. Но все-таки может кто знает как ее решить?

...
pInet = new CInternetSession(_T("One"));
try
{
  pFile = pInet->OpenURL("http://www.dice.com");
}
catch(CInternetException* e)
{
  if(e->m_dwError == 12007) // постоянно эта ошибка ERROR_INTERNET_NAME_NOT_RESOLVED
...

Когда открывается диалог Dial-Up жмем на Cancel или в программе пытаемся закрыть соединение

...
pInet->Close();
delete pInet;
...


Соединение не закрывается (если оно было открыто) или вообще непонятно какое состояние (когда жмем Cancel в Dial-Up)
delete pInet объект не удаляет, при повторном delete pInet возникает исключение Access Violation.
На CodeGuru обсуждается эта ситуация, но работающего решения нет. (Там предлагается перебор активных соединений и их закрытие RasEnumConnections, RasHangUp) Я имею в виду, когда жмем Cancel, то активных соединений нет.
Единственный выход закрывать приложение и опять его открывать. От MFC классов не хотелось бы отказываться.
Может кто знает чего на эту тему???

Был бы очень признателен за хотя бы малюсенькую подсказку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.