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
[38671] Re:[만해] Browser Helper Object를 COM으로 구현해 보신분?(질문수정)
남병철.레조 [lezo] 1265 읽음    2005-01-07 10:04
shdocvw.dll
implib로 임포트 라이브러리 생성해보세요... ( --; )


강재호.만해 님이 쓰신 글 :
: 안녕하세요 만해입니다.
:
: 회사 입사한지도 어느덧~ 한달이 가까워져 오는데요
:
: 어느정도 적응이 되어 가는것 같네요 ㅎㅎㅎ
:
: BHO(Browser Helper Object)를 이용한 프로그램을 작성해 볼려고 하는데요
:
: 빌더에서 COM 작성을 해야 하는것 같아서 바이블이랑, 디벨롶 가이드 쌓아 놓고
:
: 봐가면서 하고 있는데요 잘안되네요
:
: 혹시라도 빌더에서 COM 객체 작성해보신분 좀 갈켜주세요
:
: 문제는 IObjectWithSite 인터페이스를 COM 객체가 상속을 받아야 하고요
:
: 다시 생각해보니 질문이 너무 엉망이라서 다시 수정 합니다.
:
: class ATL_NO_VTABLE TMyHelperImpl :
:   public CComObjectRootEx<CComSingleThreadModel>,
:   public CComCoClass<TMyHelperImpl, &CLSID_MyHelper>,
:   public IMyHelper
: {
: public:
:   TMyHelperImpl()
:   {
:   }
: 이 소스가 제가 만든 MyHelperImpl.cpp에 있는 소스이고요
:
: 여기에서 제가 원하는 것은
:
: IObjectWithSite를 상속 시켜야 하는데
:
: class ATL_NO_VTABLE TMyHelperImpl :
:   public CComObjectRootEx<CComSingleThreadModel>,
:   public CComCoClass<TMyHelperImpl, &CLSID_MyHelper>,
:   public IObjectWithSiteImpl<TMyHelperImpl>,
:   public IMyHelper
: {
: public:
:   TMyHelperImpl()
:   {
:   }
:
: 이런식으로 상속을 시키니깐 디버그시 객체를 생성 시키지도 않고 그냥 나가 버립니다.
:
: 상속을 하긴 해야 하는데 정확히 어디다   public IObjectWithSiteImpl<T>을 집어 넣어야 할지 모르곘네요
:
: 그리고 밑의 소스는 비줠씨에 있는 예제를 하기 위해 가져온 부분인데요
:
: IWebBrowser2 인터페이스를 가져다 씁니다.
:
:  CComQIPtr<IWebBrowser2 , &IID_IWebBrowser2> m_spWebBrowser2;
:   CComQIPtr<IConnectionPointContainer,
:             &IID_IConnectionPointContainer> m_spCPC;
:
: 저 인터페이스를 지원하기 위해서 비줠씨 .net 에선 shdocvw.dll을 임포트 시키는데요
:
: #import "shdocvw.ddd"raw_interface_only
:
: 빌더에서는 임포트 시킬려고 해도 lib 파일이 없어서 임포트가 안되고요,
:
: TCppWebBrowser 처럼
:
: #include "shdocvw_ocx.h"
: #pragma link "SHDocVw_OCX"
:
: 이렇게 해줘도 에러가 생깁니다.
:
: 그래서 결국은
:
: #include <exdispid.h>
: #include "SHDocVw_OCX.h"
: #include <OleCtrls.hpp>
: #include <mshtml.h>
:
: 저 인터페이스를 정의한 헤더를 다 찾아서
:
: 같이 인클루드 시켜 놨는데 저게 맞는건지 모르곘네요.
:
: BHO에 등록시키는건 CoClass의 GUID를 레지스터에 입력 시켜서 해결이 됐지만,
:
: 저 두개가 문제가 생깁니다.
:
: 고수님들의 조언 바랍니다.

+ -

관련 글 리스트
38658 [만해] Browser Helper Object를 COM으로 구현해 보신분?(질문수정) 강재호.만해 1212 2005/01/06
38671     Re:[만해] Browser Helper Object를 COM으로 구현해 보신분?(질문수정) 남병철.레조 1265 2005/01/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.