♣ Tech & Biz Salon/Tech

activeX 개념 잡기

TasteGod 2012. 6. 19. 17:27

갑자기 왜 activeX 냐고?
플젝에서 한글 컨트롤을 사용해야 해서 검토를 해야함^^

첨엔 거의 기억이 안났는데... 서핑하다보니 이런저런 과거의 기억이 좀 살아남.

암튼 개념을 정리해보자. 대강 메모수준에서 적어보겠음. 전반적인 아래의 참고자료쪽 url들에 잘 정리되어 있다.

■ activeX 관련 IE의 보안옵션이 이것저것 있다. 왜 그렇지? activeX 위험한 놈인가?

activeX 는 브라우저를 통해 로컬 응용프로그램 수준의 작업을 진행할 수 있다.
그러므로 어떤 activeX 냐에 따라 위험한 놈이 될수도 있다.

■ ocx, cab, dll

activeX 컨트롤은 .ocx 확장자인데
위험하기 땜에 인증서도 있어야 하고 배포하는 cab파일이 인증되어야 한다.

배포될때 라이브러리들이 필요할 수 있는데 cab 파일을 dll 안에 포함시킬수도 있고, url 링크식으로 정의해놓을수도 있는듯함.

■ html 에 object 태그 기술

<object id="TASTE" classid="clsid:7DBB2674-1EA3-4BB3-A868-48C312083D2"
codebase="./TestOcx.cab#version=1,0,0,1" ...>

<OBJECT id=HwpCtrl style="LEFT: 0px; TOP: 0px" height=600 width=700 align=center 
  classid=CLSID:BD9C32DE-3155-4691-8972-097D53B10052>

codebase 값은 해당 url 의 cab파일을 가리키고 있네.

한컴사이트의 예제 HTML을 보니 codebase가 없어서 헷갈렸는데 내 정리 겸 추측은 이렇다.

"한글컨트롤의 배포의 경우에는 cab파일이 필요없는거 같다. 
아래아한글 프로그램 설치시 해당 activeX 컨트롤이 이미 레지스트리에 등록이 되는 것 같다.
html 에서의 해당 object id 가 IE 단에 매핑이 되지 않았을 경우
activeX 허용하겠냐고 뜨고, 허용한다고 하면 IE에 매핑이 되게 된다.
즉 새로 배포하는 개념이 아니라 이미 있는 것을 IE에 매핑시키는 과정만 있는 것이 된다.

그러니까... 한글프로그램을 설치하지 않는다면 해당 컨트롤은 사용할 수 없는것이다.
CAB 파일을 따로 한컴에서 배포한다면 몰라도 한컴사이트에 올라와 있는것은 보이지 않았다.
ocx를 이용해 CAB파일을 만드는 방안도 있겠으나... 내용을 아는 한컴직원이라면 잘 만들수 있겠지만
모르는 사람이 제대로 만들기는 어렵지 않을까 생각이 된다."

한글컨트롤의 경우 C:\HNC\Hwp70 와 같은 위치에 있음.
HwpCtrl 의 속성을 확인해보니 버젼이 7.5.2.8 이네

■ 로컬 설치

로컬에 컨트롤이 등록될때 실제로 레지스트리로 등록이 되고, 해당 오브젝트 id가 세팅되는 것을 알 수 있음.
이때 IE에 매핑도 되겠지...


※ 참고자료
http://ko.wikipedia.org/wiki/ActiveX


http://k.daum.net/qna/view.html?qid=0slIV 큰 관점에서 개념 간단히 정리

activeX 제작 관련 글들
http://blog.bagesoft.com/967
http://blog.postgo.co.kr/20
http://blog.naver.com/baek2187/150110320251
http://jys92.com.ne.kr/VisualC/MakeCab.htm

http://forums.mozilla.or.kr/viewtopic.php?t=2402

윈도우가 설치되어 있는... 정확히는 아웃룩 익스프레스가 설치되어 있는... (어짜피 기본사항이니...) PC에서 clsid 2D360201-FFF5-11D1-8D03-00A0C959BC0A 이 키를 찾아보시면 이게 바로 DHTML Editor 컴퍼넌트 주소 입니다. 
그럼 여기서 알수 있는것은 에디터 같은 경우 cab으로 배포할 필요가 없다는 겁니다.