SiteExperts.com Logo Home | Community | Developer's Paradise
User Groups | Site Tools | Site Information | Search
 Main Menu
 Forums
SiteExperts.com Forums
All Discussions

SiteExperts Feedback
The Lounge
Dynamic HTML
Site Design/ Critiques
HTML and CSS
XML Technologies
The Wireless Internet
Internet Explorer
Microsoft .NET
The Server
Technical Support

Sponsored Links

User Groups : Forums : SiteExperts : Microsoft .NET :

Previous DiscussionNext Discussion
 Suggest me in handling Bad pointer. ( IE Sidebar using as COM Object, VCC+)

Hi,

   I have my Vertical sidebar with IE. It is causing a problem when I logout of secured sites (https://).

 

The history is here:

There was problem in IR5.0 and that was fixed by a piece of code (under SUPPORT_IE5)in sidebar. The bug was fixed in IE6.0 and sidebar was happy with IE6.0 But now with IE7.0, when I logout of secured sites,

URL for the below function is passed something link “{????}” by IE (as we can not go to the previous page of some secured site once logged out of it.)  So obviously URL -> bstrlVal  ends up as a bad pointer.

 

Now please suggest me where can I initialize the pointer (URL) as the value to this is passed by IE either with URL of Main browser address bar and URL of sidebar alternatively. It is enough atlease If I could catch the URL when it has NULL Pointer in it.

 

Please suggest.

 

 

HRESULT __stdcall BPCompanion::DocumentComplete(IDispatch* pDisp, VARIANT* URL)

{    

      DEBUG_TRACE("DocumentComplete");     

      // Call Script Function

      CallScript(pDisp, CComBSTR(L"BeforeNavigation"));    

     

      if (NULL != URL)

            DEBUG_TRACE("URL %S", URL->bstrVal); 

      //IE 5

      #ifdef SUPPORT_IE5

            if (pDisp == m_spWebBrowser)

            {

                 if (!URL || CComBSTR(URL->bstrVal) == CComBSTR("about:blank"))

                  {

                        SetFocus();

                        CallScript(pDisp, CComBSTR(L"RHSDocumentComplete"));

                  }

                 if (URL){

                      if ( wcsstr(URL->bstrVal, L"shdoclc.dll/dnserror.htm#") != NULL ){

                          DEBUG_TRACE("Calling NavigateError for IE5.0 crash resolution");

                              NavigateError(pDisp, URL);

                        }

                  }

            }else{

                  if (URL){

Now the code fails here

& crashes               if ( wcsstr(URL->bstrVal, L"bpworldcompanion.dll") != NULL ){                            

                              DEBUG_TRACE("Calling RHSDocumentComplete for IE5.0 crash resolution");

                              CallScript(pDisp, CComBSTR(L"RHSDocumentComplete"));

                        }                      

                  }

                 

            }

      #else

            if (pDisp == m_spWebBrowser)

            {

                  if (!URL || CComBSTR(URL->bstrVal) == CComBSTR("about:blank"))

                  {

                        SetFocus();

                  }

            }

      #endif

 

      return S_OK;

}

Started By malathiashok on Apr 28, 2009 at 10:40:06 PM

1 Response(s) | Reply

Earlier Replies | Replies 1 to 1 of 1 | Later Replies
on (# 1)


Earlier Replies | Replies 1 to 1 of 1 | Later Replies

To respond to a discussion, you must first logon.

If you are not registered, please register yourself to become a member of the SiteExperts.community.

User Name
Password
Copyright 1997-2004 InsideDHTML.com, LLC. All rights reserved.