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
[38658] [만해] Browser Helper Object를 COM으로 구현해 보신분?(질문수정)
강재호.만해 [greenuri] 1212 읽음    2005-01-06 15:58
안녕하세요 만해입니다.

회사 입사한지도 어느덧~ 한달이 가까워져 오는데요

어느정도 적응이 되어 가는것 같네요 ㅎㅎㅎ

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으로 구현해 보신분?(질문수정) 남병철.레조 1266 2005/01/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.