|
김태선 님이 쓰신 글 :
: hr = pDocument->QueryInterface(IID_IHTMLDocument2, (void**)&pDoc); <== 요렇게 고치세요.
:
: COM에 대해 개념을 충분히 잡고 만드시면 좋습니다.
:
: 그럼.
:
:
: qwer 님이 쓰신 글 :
: : 웹 브라우저를 이용해 HTML을 읽어온 뒤 HTML을 파일로 저장 후 파싱을 통해 특정 패턴을 찾아내는 프로그램을 만들려고 합니다. 게시판에 올라온 많은 분들의 TCppWebBrowser를 사용한 웹 브라우저 소스를 참고했는데 실행 시 메모리 참조 에러가 납니다. 초보인 저로써는 도대체 뭐가 잘못된 것인지 알수가 없네요.
: : 고수분들의 도움을 바랍니다.
: :
: : 아래는 참고한 소스입니다.
: :
: :
: : ==================================================================================================
: : IDispatch *pDocument=CppWebBrowser1->Document;
: : IHTMLElement *HTMLElement;
: : IHTMLDocument2 *pDoc;
: : HRESULT hr;
: :
: : WideString HTML;
: : WideString Text;
: :
: : hr = pDocument->QueryInterface(IID_IHTMLDocument2, (void**)pDoc); <== 요기서 에러가 납니다.
: : if(hr == S_OK)
: : {
: : hr = pDoc->get_body(&HTMLElement);
: : if(hr == S_OK)
: : {
: : HTMLElement->get_innerHTML(&HTML);
: : HTMLElement->get_innerText(&Text);
: : HTMLElement->Release();
: : }
: : pDoc->Release();
: : }
: : Memo1->Lines->Clear();
: : Memo1->Lines->Add(HTML);
: : ==================================================================================================
답변해 주셔서 감사합니다.
원래 소스에서 &pDoc로 했었는데도 동일한 에러가 발생했습니다.
제가 이것저것 막 편집하는 과정에서 빠진 것 같네요 -_-;
김태선님께서 말씀하신대로
hr = pDocument->QueryInterface(IID_IHTMLDocument2, (void**)&pDoc);
이렇게해서 실행해도 동일한 에러가 납니다.
제가 COM에 대해서 전혀 모르고 VC만 사용해 본 터라 잘 모르겠습니다.
(만해님의 OleVarient인가? 하는 버전으로 해봤는데도 실행시에 에러가 발생합니다.)
혹시 빌더 버전에 따라 틀린건가요?
제가 사용하는 빌더는 2006입니다.
답변 부탁드립니다.
|