C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[61679] TCppWebBrowser를 이용한 웹페이지 읽기_(질문 수정)
냥이 [elside] 1341 읽음    2010-06-24 18:09
고수님들 안녕하세요.

QnA게시판을 통해서 로그인후 데이터를 읽어오고 있습니다.
순서가 아래와 같습니다.
1. web login
2. document확인후 인증 처리

1번에서 처리 시간이 걸리는것 같아  navigate를 호출후 아래와 같이 시간을 기다리는 처리를 하였습니다.
   while(webLogin->Busy)  Application->ProcessMessages();

2번에서  webLoginDocumentComplete 이벤트에서 아래의 소스코드로 코딩하였습니다.
      TCppWebBroswer에는 출력값이 표시되는데 이걸 HTMLElement로 읽어들일때
      재대로 값이 들어오지 않습니다.

사용하는 툴은 2009입니다.



아래의 코드에서                   HTMLElement->get_innerHTML(&HTML); <-- 에러 엑세스 바이얼레션이 발생
에서 에러가 발생합니다.

브레이크 포이트로 다시 테스트 해본결과
     hr = pHTMLDocument->get_body(&HTMLElement); <-- 에러 발생
hr = S_OK가 나왔지만
HTMLElement  = NULL 입니다.

ㅠ_ㅠ;;

          IDispatch * Document;
          Document = webLogin->Document;
          IHTMLElement* HTMLElement;
          IHTMLDocument2* pHTMLDocument;
          HRESULT hr;

          WideString HTML= ""; // <- w_char* 스트링입니다.
          WideString Text= "";
          hr = Document->QueryInterface(IID_IHTMLDocument2,(void**)&pHTMLDocument );
          if ( hr == S_OK )
            {
              hr = pHTMLDocument->get_body(&HTMLElement); <-- 에러 발생
              if ( hr == S_OK )
                {
                  HTMLElement->get_innerHTML(&HTML); <-- 에러 엑세스 바이얼레션이 발생
                  HTMLElement->get_innerText(&Text);
                  HTMLElement->Release();
                }
              pHTMLDocument->Release();
            }
          Memo1->Lines->Clear();
          Memo1->Lines->Add(HTML);


+ -

관련 글 리스트
61679 TCppWebBrowser를 이용한 웹페이지 읽기_(질문 수정) 냥이 1341 2010/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.