고수님들 안녕하세요.
TCppWebBroswer를 이용하여 로그이 처리를 하고 있습니다.
CppWebBrowser->Navigate2() 함수를 호출하여 로그인을 요청을 하였습니다.
그리고 webLoginDocumentComplete에서 페이지를 읽는데 로그인 처리 시간이 있어서
인지 HTMLElement가 NULL값으로 나왔습니다.
이부분을 Thread로 처리하여 지속적으로 HTMLElement != NULL일때까지 돌렸는데
이제는 HTMLElement->get_innerHTML(pHtml); 이부분에서 에러가 발생합니다.
BSTR*, WideString으로 처리해보았는데 둘다 에러가 났습니다.
에러 코드는 access violation 에러입니다.
고수님 부탁드리겠습니다.ㅠ_ㅠ;;
try
{
IDispatch* Document;
Document = m_pWebLogin->Document;
IHTMLElement* HTMLElement = NULL;
IHTMLDocument2* pHTMLDocument = NULL;
WideString HTML; // <- w_char* 스트링입니다.
WideString Text;
BSTR* pHtml;
BSTR* pText;
HRESULT hr;
hr = Document->QueryInterface(IID_IHTMLDocument2,(void**)&pHTMLDocument );
if ( hr == S_OK )
{
hr = pHTMLDocument->get_body(&HTMLElement);
if( HTMLElement == NULL) return;
if ( hr == S_OK )
{
HTMLElement->get_innerHTML(pHtml); <-------------에러 발생
HTMLElement->get_innerText(pText);
HTMLElement->Release();
}
pHTMLDocument->Release();
}
UpdateMainFrame(Text.data());
}
catch(...)
{
ShowMessage(" error" );
}
|