VBX, OCX, ActiveX를 구별하는방법은 무엇인가?
VBX와 OCX는 서로 다른 아키텍처로 내부구조가 완전히 다르다.
VBX는 16비트 구조로 비베 3에 사용되었고, 32비트 비베 4부터는
마이크로소프트사가 VBX를 포기한 상태이며, COM기반의 OCX를
대신 채택하게된다.
VBX : VisualBasic eXtension
COM : Componenent Object Model
OLE 컨트롤들은 종류가 상당히 많은데, 예를들어 엑셀의 차트 컨트롤,
넷스케이프의 타입라이브러리등이 좋은예이다.
MS 워드에서 엑셀의 차트를 포함시키기도 하고, 엑셀에 파워포인트 문서를
삽입하기도 하는걸 볼수 있다.
OLE 컨트롤들을 전체집합으로 보면 부분집합이 OCX라고 할수 있다.
OLE 컨트롤 > OCX 컨트롤
OCX는 COM 이란 컴퍼넌트 오브젝트 모델에 기초해 만들어졌으며,
쉬운프로그래밍 인터페이스인 메소드, 프로퍼티만을 사용하므로
MS 액세스, 비베 , 델파이 , 파워빌더 , 센추라 , 비주얼 C++, 오소웨어
폭스프로등에서 모두 사용 가능하다는 이점이 있다.
비베로 업그레이드를 하지않는 비베 유저들은 VBX는 한물갔으니, 지금은
잘 쓰이지 않는다고 생각할것이다.
회사라는 곳은 원래 초기 투자비용이 많이 들어가면 그 이후로는 투자가 불가능하다.
윈도 3.1에서 비베 3로 구축된 프로젝트가 상당히 많기 때문에 아직까진 VBx도 영향력이 있다고 보아야 겠다.
사용중인 프로그램을 유지보수를 하려면 VBX가 필요한데다가 툴북 4에도
VBX 지원기능이 추가되었다.
ActiveX란 개념은 OCX와 똑같은 것이지만 대신 여기에 인터넷에서 동작하는 기능이 더 추가되었다고 보시면 된다.
인터넷 익스플로러에서도 잘 동작하면 통상 ActiveX라고 부르는것이다.
그렇지않으면 OCX 라고 한다.
ActiveX의 요건은 런타임 DLL이 없이도 동작해야하고, 인터넷 브라우저로 다운로드되어 자동설치가 가능할뿐만 아니라 하드디스크의 액세스등이 없어야 한다.
그래야지 매킨토시나 Alpha같은 온갖 플랫폼에서 자유자재로 동작할것이다.
VBX는 응용 프로그램의 디자인 타임뿐만 아니라 런타임에도 필요하다.
따라서 서드파티 개발사는 VBX를 같이 배포하더라도 정식으로 구입한 사용자가
아니면 디자인을 할 수 없도록 여러 가지 프로텍트 기법을 도입하고 있는데,
이 글에서는 필자가 알아낸 대략 몇가지 유형만을 선보이려고 한다.
VBX/OCX는 응용 프로그램의 디자인 타임뿐만 아니라 런타임에도
필요하다고 하였다.
따라서 서드파티 개발사는 VBX/OCX를 같이 배포하더라도 정식으로 구입한
사용자가 아니면 디자인을 할 수 없도록 여러 가지 프로텍트 기법을 도입하고
있는데, 이 글에서는 필자가알아낸 몇가지 유형만을 선보이려고 한다.
첫번째가 '라이선스 파일'이다.
비베가 아닌 델파이나 볼랜드 C++에서 VBX/OCX를 등록시키려고 하면
이 .LIC파일이 필요하게 된다. VB3에서는 VB.LIC라는 파일이 윈도 시스템
디렉토리에 설치되었다.
라이선스파일이란 거꾸로 보면 비베용 .LIC 파일을 수십개 가지고있을때,
볼랜드 C++같은 타 개발도구에서 등록시킬 수 있는 VBX/OCX도 비례해서
많아진다는 이야기다.
비베 3.0을 설치할 때 포함되어 있는 THREED.VBX를 볼랜드 C++에서 디자인
할 수 있도록 하려면 VB.LIC 라는 라이선스 파일이 필요하다.
이 라이선스 파일은 비베 3.0을 설치할 때 \Windows\System
디렉토리로 설치된다. 비베 3.0에 포함된 모든 VBX들은 메모리로 적재되면서
이 VB.LIC 파일이 존재하는지를 검사하는 로직을 VBX의 처음 부분에 가지고 있다.
사용자의 시스템에 비베가 설치되어 있지 않다고 가정할 때, 볼랜드 C++에서 THREED.VBX를 인스톨시켜 사용하려면 시스템 디렉토리에 VB.LIC와 THREED.VBX파일을 같이 카피해 넣어 주기만 하면 볼랜드 C++에서 바로
사용할 수 있다는 뜻이다..
하지만 비베 3.0 사용자 계약 조건에는 어떤 경우에도 VB.LIC를 카피하거나
배포할 수 없도록 규정하고 있으니 소프트웨어 보호법을 준수해야 하는 xpert
회원들로서는 이런 방법도 있구나 하는 정도만 알도록 하고, 악용하지 않도록
주의하기 바란다.
꼭 정품을 구입하여 주시길 부탁드리고, 이 글에서 예제로 삼는 VBX도 공개 버전만을 다룰 것이다.
VBX 서드파티 패키지 가운데 70%이상이 .LIC파일이 있으므로, .LIC파일을 공략하면 대부분의 VBX를 디자인에 이용할 수도 있다.
<리스트 1 -유명 VBX 서드파티 제품들>
Crescent Quickpak
MicroHelp (지금은 becubed) VBTools 4.x 5.x
Borland Visual Solution Pack
coromandel Integra VDB
Q+E Q+E Mutilink/VB
Videosoft vsVBX 5
Media Architect ImageKnife, MediaKnife
우선 전세계에서 유명한 서드파티(3rd Party) VBX 제품군을
몇 가지 소개한다. 주로 <리스트 1>과 같은 제품들이 인기가
있었는데 독자 여러분들이 이곳에 소개된 방법을 이용하면
필요한 VBX들을 개발에 사용해 볼 수 있을 것이다.
우선 예전에 유행하던 잡지사 CD 부록등에서 필요한 VBX 파일이 어디 있는가
찾아본다. VBX 또는 VB_로 압축되어 있는 파일들을 찾아내야 한다.
쉐어웨어파일들은 ftp.shareware.com 등에서도 구할수 있으리라 생각한다.
L:\> DIR /S *.VB?
만약 THREED.VB_로 압축이 되었다면
EXPAND -r THREED.VB_
로 따로 압축을 푼다. 어떤 유틸리티는 COMPRESS.EXE로
압축한 것이면 EXPAND 로 풀어낼수 있다.
그런데, PKZIP.EXE를 가지고 THREED.VB_으로 이름을 바꾸어 압축을 한
설치 프로그램도 있으니 되도록 설치 프로그램을 동작시켜 자동 설치를 하도록
권한다.
VBX 파일이라면 보통 \SYSTEM 디렉토리에 복사를 하면 된다.
등록과정은 필요가 없다.
카페 게시글
강좌 / 잡지연재
VB와 VBX 프로텍트 기법 (2)
타이거팀
추천 0
조회 296
02.07.15 13:38
댓글 0
다음검색