검색결과 리스트
uuid에 해당되는 글 1건
- 2007.09.09 MFC ActiveX 복제시 ocx GUID 변경방법 1
글
MFC ActiveX 복제시 ocx GUID 변경방법
같은 GUID를 쓰는 ocx가 두개이상 설치되어있을 경우엔,
먼저 설치된 ocx파일만 실행되므로 변경해야함.
*웹 연결시 사용하는 GUID는 odl파일의 4번째 UUID임.(odl파일의 가장 마지막 UUID)*
작성환경 : ms vc++ 6.0 sp6
1. 시작>실행>guidgen.exe
2. 3.static const struct Guid == 를 선택, New Guid & Copy
3. 생성된 GUID를 4개로 복제.
예) 생성된 GUID가 아래와 같을 경우
// {77293D66-B77E-4973-83C1-325286629E23}
static const GUID <<name>> =
{ 0x77293d66, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
**가운데 static const...는 필요없으므로 삭제해도 무방**
원본.
// {77293D66-B77E-4973-83C1-325286629E23}
{ 0x77293d66, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
복제1.
// {77293D67-B77E-4973-83C1-325286629E23}
{ 0x77293d67, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
복제2.
// {77293D68-B77E-4973-83C1-325286629E23}
{ 0x77293d68, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
복제3.
// {77293D69-B77E-4973-83C1-325286629E23}
{ 0x77293d69, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
이런 식으로 첫 단락의 끝자리만 변경.
숫자가 아니라 알파벳일 경우 A,B,C의 순서대로 나간다.
4. 복제된 UID를 odl파일에 있는 4개의 uuid에 순서대로 붙여넣기
5. cpp파일의 GUID수정
const GUID CDECL BASED_CODE _ctlid =
의 밑에 존재하는 GUID를 '복제3'의 GUID로 변경
const GUID CDECL BASED_CODE _tlid =
의 밑에 존재하는 GUID를 '원본'의 GUID로 변경
** CATID를 변경하지 않음**
6. Ctl.cpp파일의 GUID 수정
'복제3'의 GUID를 IMPLEMENT_OLECREATE형식으로 변경한 후
(변경 예 { 0x77293d69, 0xb77e, 0x4973, { 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23 } };
↓↓↓↓ ↓↓↓↓ ↓↓↓↓
0x77293d69, 0xb77e, 0x4973, 0x83, 0xc1, 0x32, 0x52, 0x86, 0x62, 0x9e, 0x23
중괄호만 지워주면 됨 )
Ctl.cpp의 IMPLEMENT_OLECREATE_EX( 안에 존재하는 GUID를
수정한 '복제3'의 GUID로 변경
const IID BASED_CODE 의 GUID를 '복제1'의 GUID로 변경
const IID BASED_CODE *Events 의 GUID를 '복제2'의 GUID로 변경
***GUID중 cpp의 CATID와 Ppg.cpp의 GUID는 변경하지 않음***