전산쟁이의 카피질

뒤로 검색

ActiveX 컨트롤에서의 IObjectSafety 인터페이스 구현

2009/05/12 17:44

출처 - http://www.madchick.com/Default.asp?Page=2&SubPage=2&3thPage=1
2차 출처 - http://fattarzan.tistory.com/entry/ActiveX-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EC%97%90%EC%84%9C%EC%9D%98-IObjectSafety-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-%EA%B5%AC%ED%98%84

최초 출처 사이트가 오늘(2009.5.12)은 접속이 안되서 정말 당황 스러웠는데..
다른 곳에 복사 되어 있어서 저도 복사 해 놓습니다.

추가로 코드사인에 관한 사이트도 링크합니다.
http://www.adclicx.com/?mid=vc&listStyle=list&document_srl=113

주  제 : ActiveX 컨트롤에서의 IObjectSafety 인터페이스 구현
   
올린곳 : 사내 게시판
올린날 : 1998-10-27
출  처 : 내 옆에  뒷자리 앉은 인간 (조기봉)

수정일 : 2002-04-24

--------------------------------------------------------------------------------

이렇게 해야하는 이유는
델파이 ActiveX 컨트롤에서 ISafetyObject 인터페이스 구현
HTML에서 object 태크로 파라미터 넘기기 내용을 참조하세요..

-------------------------------------- 2002.04.24 추가내용 끝 ----

옮긴이 주 (미친병아리 왈~)
제가 애용하는 방법은 쓸데없이 레지스트리를 더럽히는 방법보다는
IObjectSafety 인터페이스를 구현하는 방법입니다..
말이 구현이지.. 실제로.. 아래 나온 소스를 그대로 넣고
자신이 개발한 ActiveX 컨트롤 클래스명만 수정해주면 됩니다..
   
아래 예에서는 COcxPuzCtrl 이란 문자열을 자신의 클래스명으로 바꿔주면 되죠..
   
   
------------------------------------------------------------------------
 
   
Active-X  컨트롤에 Safe 옵션을 추가하는 방법은 컨트롤이 인스톨 되거나 그
후에  Certains function을 컨트롤이 직접 호출하는 방법과 그 컨트롤에 직접
IobjectSafety 인터페이스를 직접구현하는 방법 두가지가 있습니다.


<< 레지스터에 등록하는 동안 컨트롤을 마크하는 방법 >>
우선  레지스트리에 등록하는 헬퍼 펑션을 포함한 helpers.h와 helpers.cpp를
작성해야  하는데, 이 파일은 MSDN의 ActiveX SDK에서 카피할 수 있다는데 저
도 찾아보진 않아서 잘모르겠구요..  물론 저한테도 있습니다.
(helpers.h - 다운로드, helpers.cpp - 다운로드)
   
그 다음 [CONTROL NAME]CTRL.CPP에 HELPERS.H와 OBJSAFE.H를 Include한 다음
{ControlClass}::{ControlClass}Factory::UpdateRegistry에 다음 코드를 삽입
하면 됩니다.




<< IobjectSafety 인터페이스를 구현하는 방법 >>
이     인터페이스를     구현하기위해서는     GetInterfaceSafetyOptions와
SetInterfaceSafetyOptions  두개의 함수가 필요합니다. 이것은 퍼즐ocx를 예
를 들어 설명하겠습니다.
우선  [Controlname]Ctrl.h 파일에 ObjSafe.h를 Include하고 클래스에 다음과
같은 코드를 삽입합니다.


 
그리고 cpp 파일에 다음과 같은 코드를 삽입해 주면 됩니다.



Tags

ActiveX, ActiveX 보안경고, IObjectSafety, 보안경고
이 페이지는 Textcube 1.10.0 : beta 1 로 구동됩니다 데스크탑 화면