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
[39655] Re:Re:[질문] activex 에서는 안되는건가여?
이진수 [] 1438 읽음    2005-03-28 09:51
먼저 답변해 주셔서 감사합니다.
독립 application에서는 잘되는거 같은데여....
activexForm 을 이용해서 웹브라우저 내에 삽입을 해서
브라우저를 통하여 호출하니 스크롤이 안없어 지는거 같군요....
아참 에러 메세지는 없어 졌습니다.
방법이 없을까요?



님이 쓰신 글 :
: 이진수 님이 쓰신 글 :
: : 안녕하세요?
: : 저는 빌드6.0을 쓰고 있습니다.
: : 이번에 activex 로 작업을 하는데 activexform에 CppWebBrowser1을 장착하고
: : 여기에 주소를 매칭 시키고 스크롤바를 없애려고 합니다.
: : 근데 실제 웹브라우저에서 띄우니 에러가뜨는군요...
: :  Access violation at address 06D2E21F in module 'XUP1PR~1.OCX'. Read of address 00000800
: :
: : 이런 에러가 뜹니다...
: : 어떻게 해야 하나요?
: : 여러분의 조언을 부탁 합니다.
: :
: : 아래는 소스입니다.
: : void __fastcall Txup1::CppWebBrowser1DocumentComplete(TObject *Sender,
: :       LPDISPATCH pDisp, Variant *URL)
: : {
: :    Variant HTMLDoc = ((TCppWebBrowser *) Sender)->Document;
: :  if ( !VarIsEmpty( HTMLDoc ) )
: :     {
: :         Variant Body = HTMLDoc.OlePropertyGet("body");
: :
: :         if ( !VarIsEmpty( Body ) )
: :         {
: :             Body.OlePropertyGet("style").OlePropertySet("borderStyle", "none");
: :             Body.OlePropertySet("scroll", "no");
: :             VarClear(Body);
: :         }
: :         VarClear(HTMLDoc);
: :     }       
: : }
:
: DocumentComplete 이벤트는 매 프레임마다 발생합니다.
: 스크롤바에 국한해서 생각한다면,
: 프레임이 나누어지지 않은 경우 ((TCppWebBrowser *) Sender)->Document로 해도 별 이상이 없습니다.
: 하지만, 프레임이 나누어진 경우에는 pDisp를 통해 액세스해야 하며 마지막으로 발생하는 DocumentComplete 이벤트는 무시해야 합니다.
: 마지막으로 발생하는 DocumentComplete 이벤트는 프레임을 나누는 소스가 있는 HTML을 위한 것으로서 이는 창을 가지지 않게됩니다. 그리고 이 이벤트 시에는 pDisp==CppWebBrowser1->ControlInterface입니다.
: 프레임이 나누어지지 않은 경우에도 pDisp==CppWebBrowser1->ControlInterface입니다.
:
: void __fastcall TForm1::CppWebBrowser1DocumentComplete(TObject *Sender,
:       LPDISPATCH pDisp, Variant *URL)
: {
:  Variant webbrowserframe=Unassigned,HTMLDoc=Unassigned,Body=Unassigned;
:  try{
:   //Caption=(String)*URL;
:   //Variant HTMLDoc = ((TCppWebBrowser *) Sender)->Document;
:    webbrowserframe = pDisp;
:    HTMLDoc=webbrowserframe.OlePropertyGet("Document");
:   if ( !VarIsEmpty( HTMLDoc ) )
:   {
:      Body = HTMLDoc.OlePropertyGet("Body");
:      if ( !VarIsEmpty( Body ) )
:      {
:         Body.OlePropertyGet("style").OlePropertySet("borderStyle", "none");
:         Body.OlePropertySet("Scroll", "no");
:      }
:   }
:  }catch(...){
:  }
:  VarClear(Body);
:  VarClear(HTMLDoc);
:  VarClear(webbrowserframe);
: }

+ -

관련 글 리스트
39631 [질문] CppWebBrowser 에서 스크롤바 없애기 이진수 953 2005/03/25
39640     Re:[질문] CppWebBrowser 에서 스크롤바 없애기 1638 2005/03/26
39655         Re:Re:[질문] activex 에서는 안되는건가여? 이진수 1438 2005/03/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.