|
C++ 빌더에서도 ATL 생성하는법 알아냈습니다.
(0.우선 File -> Close All 로 열려있는 (일반 애플리케이션) 프로젝트를 모두 닫은후)
1.File -> New -> Other -> ActiveX 탭 -> ActiveX Library 선택 후 OK 클릭 (기본 소스 파일 생성됨)
다시
2.File -> New -> Other -> ActiveX 탭에서 ComObject 선택하고 OK 누르면 다이얼로그가 하나 뜨는데 거기서 CoClass이름 적당하게 입력하고 OK 누르면 소스파일과 함께 CoClass와 Interface가 생성되는데 (프로젝트 이름 적당히 고치고 Interface에다가 적당한 메서드랑 프로퍼티 추가하고 저장하면 소스파일(unit.cpp)에 추가한 메서드랑 프로퍼티가 추가되어있는데. 적잘하게 코딩후 컴파일하면됩니다.(편집창(?) 내부의 도구모음에서 레지스트리 편집기 아이콘모양(레지스트리 등록)을 누르면 컴파일 후 등록도 해줍니다.)
** 클래스 추가하려면 2번 반복
** 위는 C++ 빌더 6 엔터프라이즈 기준이다.(C++빌더 6 퍼스널은 ActiveX 제작을 지원하지 않음), C++빌더 2006 이상버전에서도 비슷하게 적용될 것이다.(Turbo C++ 2006 익스플로러는 ActiveX를 지원하지 않음)
나그네 님이 쓰신 글 :
: 1번을 말하는 것이었습니다. 2번은 검색하면 꽤 많이나오더군요.. 검색할때 COM이란것을 망각하고서.. 검색하니 2번만 주주룩 나온다는.. C++빌더에도 어딘가에 COM만드는 마법사가 있겠죠??
: 생각해보니..
: 1번 컴파일한 컴퓨터가 아닌 다른 컴퓨터에서 사용시 등록해줘야하는 불편함이있다.
: 2. 등록불필요하나 다소 복잡함(사견입니다.)
: 3 2번과비슷할듯.
:
: P.S1 : VJ++, VB 에서 DLL을 COM 으로만 생성할 수 있기 때문에.. 잠시 착각속에서. 검색및 시도해 봐서.. 질문을 드린겁니다.(좀 죄송)
:
: P.S2 : VC++에서 COM DLL 만드는것은 방금 찾았습니다.
:
: Lyn 님이 쓰신 글 :
: : DLL은 크게 3종류가 있는데..
: :
: : 1. COM
: : 2. Class 를 소유하는 확장 DLL(MFC Extended DLL, Borland Package Library)
: : 3. 정규 DLL
: :
: :
: : 1번의 경우는 COM 을 지원하는 모든 언어 (C, BC++, VC++, 델파이, 펄 등등) 에서 사용가능하고
: : 3번의 경우도 DLL 을 사용할 수 있는 모든 언어에서 사용 가능합니다
: :
: : 그러나 2번은 만든놈(같은 VC++이라도 버젼이 다르면 안됨. 심지어는 서비스팩 번호가 달라도 안됨) 이 아니면 사용 할 수 없습니다.
: :
: :
: : 나그네 님이 쓰신 글 :
: : : 1.C++Builder에서 DLL 어떻게 만드나요? 아무리 해도 잘 모르겠네요..
: : : (원하는 것은 클래스 안에 사용할 메서드가 있는 방식입니다., 클래스 없어도 괜찮아요)
: : :
: : : 2. 위 1번에서 만든 DLL을 Visual Basic에서 참조(C++Builder라면 프로젝트 -> import Type Library) 형식으로 사용 할 수 있는지..
|