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
[24016] Re:Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요?
임문환 [mhlim] 725 읽음    2003-02-03 15:54
일단, Time, Type, Size property에 연동된 실체가 없습니다.
따라서 ...impl.cpp 상단에
long fSize;
BSTR fType;
DATE fTime;
전역 변수로 선언/정의하시고.

...impl.cpp파일에서 fSize 한 가지 예만 들자면 아래와 같이 해야 합니다.
STDMETHODIMP TWebDocLoaderImpl::get_Size(long* Value)
{
  try
  {
    *Value = fSize;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_WebLoader);
  }
  return S_OK;
}


STDMETHODIMP TWebDocLoaderImpl::set_Size(long Value)
{
  try
  {
    fSize=Value;
  }
  catch(Exception &e)
  {
    return Error(e.Message.c_str(), IID_WebLoader);
  }
  return S_OK;
}

일단 위와같이 세가지 property에 대해 모두 해주시면 오류는 발생하지 않습니다.

그리고, Get_Http_File(BSTR Url)에도 오류의 소지가 있을 수 있으므로 더 살펴보시고...

Open_Url(BSTR Url)이 이미 외부에 노출되어 있는 상태에서 Get_Http_File(BSTR Url)은 외부에 노출시킬 필요가 없습니다.
그리고 Get_Http_File(BSTR Url) 매서드 내부에 보면 중도에 return false;를 하고 있습니다.
false도 0이고 S_OK도 0입니다. 의도하신건지요?



만해 님이 쓰신 글 :
: 만해 님이 쓰신 글 :
: : 임문환 님이 쓰신 글 :
: : : ...impl.h 파일에 보면 DECLARE_PROGID 매크로가 있는데 그 매개변수에 있는 거 아닙니까?
: : :
: : : ProgID는 "타입라이브러리이름.CoClass이름"으로 지정되는 것같네요.
: : : 그리고 GUID로 찾으려면 CoClass의 GUID를 사용해야 합니다.
: : : 물론 이단계라면 이미 타입라이브러리 에디터에서 타입라이브러리를 등록(Register Type Library)했어야 하구요.
: : : 위 작업은 도스(또는 콘솔)에서 "regsvr32  해당ocx의경로와이름"으로도 합니다.
: : :
: : :
: : : 정상적으로 등록되어 있고 VB 프로그래밍이라면
: : : Dim obj
: : : dim proID as String
: : : 'proID=?
: : : Set obj = CreateObject(proID) //ASP라면 Server.CreateObject(progID)
: : : obj.someMethod(someParams)
: : : 로 사용하겠지요.
: :
: : The remote procedure call failed and did not execute.
: :
: : 흐흐 이런 메세지가 나오네요
: :
: : 호출에 실패를 했다고 하는데 뭐가 잘못된건지 쩝~
: :
:
: 소스하고 같이 올립니다.
:
: 이거 프로젝트인데 외부 유출 되도 될려나 모르겠네요 ㅋ  ㅋ
:
: 여튼 넘 허접한 소스라서
:
: 아참 그리고 Wininet.lib 파일을 같이 프로젝트에 애드 시켜 줘야 합니다.
:
:

+ -

관련 글 리스트
31691                     Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요? 임문환 745 2003/02/03
31690                     Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요? 임문환 725 2003/02/03
24013                     Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요? 만해 830 2003/02/03
24016                         Re:Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요? 임문환 725 2003/02/03
24033                             Re:Re:Re:Re:Re:Re:Re:[만해] COM 객체 어떻게 만들어요? 강재호.만해 598 2003/02/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.