OLE (Object Linking and Embedding)
Linking과 Embedding의 두가지 object 공유 방식을 갖음.
프로그램간 오브젝트 공유 기술.
(스프레드 시트나 차트, 그림, 클립아트 등의 외부 오프젝트 사용 가능)
OLE 서버
IClassFactory 구현.
4가지 상태 :
Passive : 디스크에 저장된 상태
Loaded : 화면엔 보이나 서버 미실행 상태
Active : 화면에 보이고 서버 실행 상태
Running : 화면은 보이지 않고 서버 실행 상태
OLE 프로젝트 생성 - MFC
MFC Application 프로젝트
"Single document" 선택.
"Compound Document Support > Container/Full server" 선택.
**. 참고
Container : 컨테이너로 기능만 갖음
Mini server : 서버 기능만 갖음(단독 사용 불가능. 데이터 제공용으로 사용)
Full server : 서버 기능만 갖음(단독 사용 가능)
Container/Full server : 서버와 컨테이너 기능을 갖음
(컨테이너 : OLE 클라이언트를 뜻함)
COleClientItem 에 OLE 오브젝트에 대한 작업이 모두 구현되어 있음.
COleClientItem를 상속한 CTestOleCntrItem 에서 오브젝트의 위치 및 크기 지정.
OnChange() : 서버에 변화 발생시 호출되는 함수
OnGetItemPosition() : OLE 오브젝트의 위치 및 크기 지정을 위한 함수.
Serialize() : OLE 오브젝트의 모든 데이터를 CArchive 를 통해 저장하는 역할.
'C++' 카테고리의 다른 글
Win32 메모리 누수(Leak) 체크 (1) | 2010.11.04 |
---|---|
Distributed Environment (분산 환경) (0) | 2010.11.04 |
ATL (Active Template Library) (0) | 2010.11.04 |
ActiveX control (0) | 2010.11.04 |
Automation (자동화) (0) | 2010.11.02 |
COM (component object model) (1) | 2010.11.02 |
C++ 복사 생성자(copy constructor)와 대입 연산자(substitution operator) (0) | 2010.11.01 |
STL (Standard Template Library) (0) | 2010.11.01 |