COM, ATL 67

엑셀 오토메이션

Visual Basic에서 엑셀 파일 등을 이용하는 것은 쉽다고 알려져 있으나 Visual C++에서는 어떻게 사용해야 될지 몰라서 검색을 해보니 몇가지 방법이 있었다. 1. Automation을 이용하는 방법이 있으며 http://support.microsoft.com/default.aspx?scid=kb;EN-US;186122 에서 기본 정보를 찾을 수 있다. 2. 좀 더 편한 방법을 찾다 보니 CSpreadSheet 클래스를 이용하는 방법이 있었다. http://www.codeproject.com/KB/database/cspreadsheet.aspx http://www.codeguru.com/cpp/data/mfc_database/microsoftexcel/article.php/c4307/ 둘다 내..

COM, ATL 2008.09.03

ATL_NO_VTABLE

Visual C++ 개념: 프로젝트 만들기 및 관리 ATL 프로젝트에 대한 컴파일러 최적화 지정 기본적으로 ATL 컨트롤 마법사는 ATL_NO_VTABLE 매크로를 사용하여 다음과 같이 새 클래스를 생성합니다. 코드 복사class ATL_NO_VTABLE CProjName { ... }; 그런 다음 ATL은 다음과 같이 _ATL_NO_VTABLE을 정의합니다. 코드 복사#ifdef _ATL_DISABLE_NO_VTABLE #define ATL_NO_VTABLE #else #define ATL_NO_VTABLE __declspec(novtable) #endif _ATL_DISABLE_NO_VTABLE을 정의하지 않으면 ATL_NO_VTABLE 매크로가 declspec(novtable)으로 확장됩니다. 클래..

COM, ATL 2008.08.30

BSTR 자료형 고찰과 사용시 주의점

BSTR은 자동화 타입에서 사용되는 문자열 자료형로서 메모리상에 처음 4바이트는 문자열의 길이값이 입력되고 그 후 유니코드의 문자열이 위치한다. 자동화(Automaton)에 사용되는 자료형의 하나이며 인터페이스에 dual 이나 automation(커스텀 인터페이스일지라도 이 속성을 주면 타입라이브러리 마샬링을 수행한다.) 속성이 존재하거나 dispinterface 등 IDispatch 관련 인터페이스인 경우 오토메이션 마샬러인 타입라이브러리 마샬링을 행할 것이다. 참고로 idl파일에서 [string] 속성을 주지 못한다. 이 속성을 주면 컴파일시 에러메시지가 검출된다. 메모리 할당과 해제는 CoTaskMemAlloc, CoTaskMemFree를 사용하지 않고 SysAllocString과 SysFreeSt..

COM, ATL 2008.08.29

싱크 부분 구현 참조.....

InkOverlayEv.h C:\home\SVGCats_src\src\InkOverlayEv.h [–ÚŽŸ | Œ^EƒNƒ‰ƒXE\‘¢‘Ì | ƒ}ƒNƒ] –ÚŽŸ 1. IUnknown Interface 2. IDispatch Interface 3. Events - overridden functions 4. Methods 5. Data Members Œ^EƒNƒ‰ƒXE\‘¢‘̈ꗗ InkOverlayEvents ƒNƒ‰ƒX ƒ}ƒNƒˆê—— INKOVERLEYEV_H ƒ}ƒNƒ 1|/* 2|* This file was made by refering from Tablet PC SDK. 3|* "E:\Program Files\Microsoft Tablet PC Platform SDK\Sa..

COM, ATL 2008.08.28

The AtlSink.exe sample demonstrates how to implement a dispinterface sink by using the Active Template Library (ATL) in Visual C++

The AtlSink.exe sample demonstrates how to implement a dispinterface sink by using the Active Template Library (ATL) in Visual C++ View products that this article applies to. Article ID : 181277 Last Review : June 2, 2005 Revision : 5.0 This article was previously published under Q181277 On This Page SUMMARY MORE INFORMATION Visual C++ 6.0 Visual C++ .NET A Connectable Object A Sink Two Ways to ..

COM, ATL 2008.08.28

Dispinterface vs. Events and Runtime Sinks - 싱크에서 디스핀터페이스 사용 코딩 구현 참조

Dispinterface vs. Events and Runtime Sinks Rating: none Andrew Whitechapel (view profile) April 12, 2001 In the normal COM scheme of things, the communication between client and server is driven by the client. The client creates the server's COM object, and makes calls into the object as it needs to. The object generally sits there passively waiting for calls from clients. However, sometimes, th..

COM, ATL 2008.08.28