Avatar of davinder101
davinder101
 asked on

problem facing with IHTMLDocument2::write function

I am facing two problems when the control of my project comes at IHTMLDocument2::write" function.The problems are as follows..

1. My project is going in hang stag .
2. It throws exception at the same point.

i have attached two html files , abc.html and xyz.html for respected problems.

The code what i am using is to write HTML expressions to a document is::

SAFEARRAY* psa = NULL;
            
HRESULT hr;
CComPtr<IHTMLDocument2> pDoc;
pDoc = NULL;
hr = CoCreateInstance(CLSID_HTMLDocument, NULL, SCTX_INPROC_SERVER,
                                    IID_IHTMLDocument2, (void**)&pDoc);

if(!strHtmlText.IsEmpty() && SUCCEEDED(hr))
{                  
      psa = SafeArrayCreateVector(VT_VARIANT, 0, 1);
                                          
      VARIANT *param;

      if(psa && SUCCEEDED(SafeArrayAccessData(psa, (LPVOID*)&param)))
      {
            CComBSTR bstrHTML(strHtmlText);
            VariantInit(param);
            param->vt = VT_BSTR;
            param->bstrVal = bstrHTML.m_str;
                                                                  
            if(SUCCEEDED( pDoc->write(psa)))
            {
//--------------------------------------------------//
}

}|
}
abc.html
xyz.html
Visual C++.NET

Avatar of undefined
Last Comment
Pramod Bugudai

8/22/2022 - Mon
Pramod Bugudai

Hi,

I can see that you have a COM DLL, from which you are trying to call the methods to create your HTML documents. Whether you tested your COM DLL to check its working fine. I guess something its not able to find out the process address of routines in that DLL. That is the reason its hanging your application.

Exceptions are may from your program. Try debugging the application where exactly it starts hanging your app.


regards,
davinder101

ASKER
hi,

i have tested this piece of code on a dialog based application too.

just add this piece of code on a click event on a dialog based application
it hangs on even on that.

please check it at your end too...
it will hang...
ASKER CERTIFIED SOLUTION
Pramod Bugudai

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck