ActiveX 21

ClassObject(클래스 객체)란 무엇인가?

CoGetClassObject라는 함수는 클래스 팩토리 객체를 생성하고 그 인터페이스 포인터를 리턴해준다. 상기 함수는 컴포넌트 객체를 생성하는 게 아님을 주의한다. 무심히 저함수의 ClassObject이름을 보면 그냥 클래스의 객체로 생각하고 넘어간다. 그런데 객체면 객체지 왜 ClassObject라고 이름을 붙였겠는가? 정확한 의미는 클래스 역할을 하는 객체이다... 클래스 팩토리 객체는 컴포넌트 객체를 생성하므로 ...... 자주 사용하는 붕어빵틀-붕어빵 관계에서 처럼 컴포넌트 입장에서 보면 마치 자신을 생성하는 하나의 틀인 클래스로 생각되는 것이다.

COM, ATL 2008.07.27

Com, Atl 언어 독립성에 대한 소고

가끔 com에 대한 기본 개념 글들을 읽어보면 따라쟁이, 앵무새처럼 주절거리는 게 많다..... 위치독립성에 대해 적은 대다수 글들을 보면 "com은 바이너리형태로 이루어지면서 이를 통해 위치독립성을 가지게 된다..." 이글을 처음 보고 한참 혼란스러웠다... 당연히 그 글을 적은 사람도 더 이상의 설명은 없다. 기본원리, 개념에 대해 조금이라도 불만족스러우면 짜증나지 않는가? 나 역시 그런 사람이다. ㅡㅡ 컴파일 언어에서 모든 소스 파일은 컴파일 과정을 거치면 모두 바이너리로 변한다. 그런데 바이너리로 언어독립성을 가진다니....거 참 혼란스럽지 않을 수 없다. 한참을 생각한 결과 다음과 같은 결론을 내릴 수 있었다. 소스 제공의 측면에서 표현한 것이다. 컴포넌트에서는 로딩 모듈인 dll, exe, o..

COM, ATL 2008.07.26

MSDN, ATL 매뉴얼

Visual C++ 개념: 기능 추가 ATL ATL(액티브 템플릿 라이브러리)은 템플릿 기반 C++ 클래스 집합이며, 작고 빠른 COM 개체를 만들 수 있게 합니다. 스톡 구현, 이중 인터페이스, 표준 COM 열거자 인터페이스, 연결 지점, 분리 된 인터페이스 및 ActiveX 컨트롤 등 주요 COM 기능을 지원합니다. ATL 프로그래밍을 많이 해본 경우 간단하게 COM 프로그램을 작성하기 위해 설계된 Visual C++ .NET의 새 기능인 특성에 대해 자세히 알고 싶을 것입니다. 자세한 내용은 특성을 사용하는 프로그래밍을 참조하십시오. 단원 내용 시작 ATL 자습서 컨트롤을 만드는 과정으로 안내하여 그 속에서 ATL의 기본 내용을 보여 줍니다. 특성 자습서 특성 및 이벤트를 사용하여 클라이언트 및 서..

COM, ATL 2008.07.26

ATL 컨트롤 포함 FAQ(질문과 대답)

Visual C++ 개념: 기능 추가 ATL 컨트롤 포함 FAQ(질문과 대답) 이 단원에서는 ATL 컨트롤 호스팅과 관련된 질문에 대해 설명합니다. 참고 Visual C++ .NET에서 "AtlAxWin" 창 클래스의 이름은 "AtlAxWin7"로 변경되었습니다. Visual C++ 6.0과 함께 제공되며 현재 system.dll인 atl.dll에서 호스팅 코드를 사용하는 경우에는 "AtlAxWin"을 사용할 수 있습니다. 클래스와 API ActiveX 컨트롤 포함을 용이하게 해주는 ATL 클래스는 무엇입니까? ATL 컨트롤 호스팅 API는 무엇입니까? AtlAxWin7은 무엇입니까? 컨트롤 만들기와 로드 컨트롤 인스턴스를 만드는 방법은 무엇입니까? 런타임에 지정된 컨트롤을 로드하는 방법은 무엇입니까? ..

COM, ATL 2008.07.25