안녕하세요.
제가 주로 작성하고 있는 어플리케이션들은 웹 브라우져상에서 나타나는 경우가 많습니다. 그런데 만들 때마다 고민인 것이 바로 Active X 프로젝트는 다른 프로젝트로 이름을 바꾸기(복제)가 매우 어렵다는 것입니다.
예를 들어, 'A社의 웹 사이트'와 'B社의 웹 사이트'에 거의 같은 기능을 하지만 로고만 약간 틀린 어플리케이션 붙여야 한다고 가정해 봅시다. 일반 어플리케이션 같으면 "Save Project As" 메뉴에서 간단하게 서로 다른 프로젝트로 분리해 낼 수 있습니다.
하지만 Active X 어플리케이션은 프로젝트를 생성하자 마자 ClassID를 비롯하여 여러 인터페이스의 ID를 생성하고, 결과물인 OCX와 Active X Control의 이름도 고정되어 버립니다. 이걸 아무리 Save Project As 해봐야, 작업 중인 파일 이름만 바뀔 뿐이지, 실제로 두 프로젝트는 같은 ClassID를 가지는 같은 프로젝트가 되고 마는 것입니다.
저러한 사실을 모르고, ActiveX 프로젝트를 복제하여 약간 수정한 뒤 'A社의 웹 사이트'와 'B社의 웹 사이트'에 그냥 붙일 경우, 두 사이트를 왔다 갔다 하면서 사이트에 들어간 OCX의 버전에 따라 어느 한 쪽으로 통합되어 버리게 되죠.
제가 드리는 궁금한 사항은 다음 두 가지 입니다.
1. 이미 생성한 Active X 프로젝트에서, 다른 부분은 고치지 않고, ClassID 등 주요 인터페이스 ID만을 수정하여, 쉽게 프로젝트를 복제해 낼 수 있는 도구나 방법이 있을까?
2. 이미 생성된 Active X 프로젝트에서 그 컨트롤 이름을 바꿀 수 있는 도구나 방법이 있을까?
Active X로 프로젝트 작업을 많이 하시는 분들의 조언을 구합니다.
그럼 오늘도 즐거운 개발 되세요~.
제가 고민한 부분인데..
님께서도 상당히 고민한 흔적이 옅보이는군요.. ^^
명쾌한 답을 드리겠습니다.
ActiveX 프로그램을 만들다 보면 항상 따라 오는 파일이
****_TLB.pas파일 입니다.. 비밀은 이 파일 속에 다 있습니다!
단!.. 성급히 움직이지 마시구.. 일단 델파이에서 프로젝트를 열어서
컨트롤+f12를 눌러 'view unit'창을 뛰운다음.. 해당 ****_TLB.pas 파일을
선택해서 엽니다.. 연다음 F12키를 눌러서 *****.TLB 컨트롤 창을 엽니다.
여기 까지 아시죠?
여기서 부터 아주 쉽습니다.
일단 클래스 아이디 변경은 기존의 클래스 아이콘을 삭제한 다음 추가 해 주시면
됩니다. (아이콘 모양마다 구분이 되어 있