반응형

맨날 설명만 있으니 지겹지 않은가....


프로그래머는 프로그램으로 말한다고 하지 않는가.....


우리도  맨날 COM만 가지구 설명만 하지 말구.... 만들어보자 아자!!.


우리가 만들고자 하는 건.....


모든 프로그램의 기본인 Hello! World를 뿌리는 OCX의 제작이다.


Visual C++에는 두가지 종류의 COM제작 옵션을 제공한다.


다음에 당신이 맨날 보는 프로젝트 생성창에서 COM을 만드는 방법 두가지는....


빨갛게 표시된 것이다.


잘 안보이면 원본 이미지를 봐라.

사용자 삽입 이미지

 
 
 위의 두가지를 살펴보면 첫번쨰 적힌 ATLCOM AppWizard란 놈은..... 뒤의 놈에 비해서 어렵다. 뭐 난이도야 상대적인 것이겠지만, 여기서 어렵다는 기준은 첫번째놈으로 OCX그러니까 ActiveX를 만들려면, 어느정도 COM에 대한 지식이 필요하다. 그에 비해 뒤의 놈은 MFC에 대한 지식이 쫌만 있으면 아주 쉽게 OCX를 만들도록 해준다.
 
여기서 주의할거....
 
뒤의 놈은 제목처럼 MFC를 이용하는 것이기떄문에, 여러가지 제약이 따른다. ActiveX외의 다른 류의 COM은 작성할 수 없으며, MFC관련 DLL, MFC42.dll(VS6.0의 경우), MFC70.dll(VS.net의 경우) 이니 뭐 이딴 놈들을 같이 배포해야만 돌아간다. 그리구.... 나중에 더 COM을 공부하면 알겠지만..... ActiveX 제작에 필요한 모든 인터페이스를 선택할수 없이 모두 갖구 있어서 무겁다......
하지만, 이런 단점에두 불구하구 왜? 이걸 쓰는가?
 
쉽구 편하다.!!!
 
프로그램 작성은 공부나 속도나 이런거때문이 아니라 돈벌기 위해서라고 보았을때, 높은 생산성을 제공한다는(쉽구 편한) 것은 분명 큰 장점이다.
 
그럼 이제 본격적으로 만들어보자.
 
프로젝트 명쓰구(난 TempOcx라구 썼다.) OK누르면 다음과 같은 창이뜬다.(다시한번 얘기하지만, 어느정도 VS를 쓸줄 아는 사람을 대상으로하는 설명이다. 프로젝트명 어따쓰냐 이런거 물으면 곤란하다.)
 
사용자 삽입 이미지
 
천천히 보자....
 맨 처음꺼는 해석해봐라^^. 만들 컨트롤의 갯수이다. 아직 설명이 되진 않았지만.....OCX는 이름이 OCX일뿐 하는 짓은 DLL과 같다. (OCX의 이름 유래는 VB의 VBX로부터 왔다는 설이 있다.) DLL로써 메모리에 로딩되구 DLL안에는 서비스를 하기위한 실제 Object가 존재하는데, 지금 묻는거는 그 오브젝트의 종류이다. 흔히 말하는 클래스의 갯수와 비슷하다고 생각하면 된다.(실제로 COM에서도 클래스 오브젝트라는 말을 쓴다.)
 
두번쨰꺼는 라이센스를 제공하는가 하는거다....
 
세번째꺼는 주석을 자동으로 달아주는가?
 
네번꺼는 Help파일을 넣을거냐 하는거다.(착각하면 안됀다. 헬프를 만들어준다는게 아니라, 헬프를 띄울수 있는 함수같은걸 넣는다는거다.)
 
 그럼 기본으로 보구 넥스트를 눌러보자.

사용자 삽입 이미지

또 보자.....


처음꺼는... 이름이다.

두번쨰는 여러 옵션인데... 이거 중요하다.


쉽게 생각하면 말 그대루다.


활성화될때 보여주는가.....(이 OCX를 사용하는 소프트웨어 즉, 클라이언트가 활성화될때 덩달아 눈에 보이는가)

런타임시 비저블(코딩할떄는 보이다가. 프로그램 돌리면 안보인다.- 크리스탈리포트.. 비베에 있는 타임컨트롤등을 생각하면 된다.)


음 길어지는군 다른건 몰라두 됀다....


마지막꺼만 가끔 신경쓰자.... MFC의 기본 윈도우 클래스중에.... 어떤 놈을 상속받을지 묻는데...


뭐 버튼을 만들거면 CButton을 상속받을거구... 뭐 ... 우리는 그냥 두자....


이제 finish....


길다.... 다음번에 계속...
반응형

+ Recent posts