대신증권 Cybos API의 COM객체를 사용하는데 Visual Studio에서 인텔리센스가 되지 않을때 해결하는 방법이다. Cybos API가 COM객체인 관계로 다른 COM객체에 대해서도 적용될 듯 하다.
우선 COM 자체가 윈도우용인 관계로 관련 라이브러리와 컴파일 및 링크를 위하여 MFC로 프로젝트를 생성하였다. (순수 C++로 하려고해도 관련 파일을 포함하고 컴파일 옵션 및 링크를 설정해야 하기 때문에 이쪽이 편하다.)
1. 우선 아래 예와 같이 COM 관련해서 import한다.
#import "C:\DAISHIN\CYBOSPLUS\cpdib.dll"
2. 컴파일을 한다.
그럼 Debug빌드면 관련 Debug폴더에 Release빌드면 관련 Release폴더에 *.tlh 파일과 *.tli파일이 생성된다.
3. 그럼 해당 파일을 아래 디버그 버전 예와 같이 포함하여 주면 해당 COM 객체의 클래스들에 대하여 인텔리센스를 사용할 수 있게 된다. 아래 예에서 *.tlh 파일이 생기는 위치는 {project folder}/{debug folder}다.
#include "i:/_vs/_stock/MFCCybos/MFCCybos/Debug/cpdib.tlh"
참고로 Debug 폴더의 것을 포함하고 사용하다가 Release 컴파일을 하게 되면 컴파일 에러가 난다.
이때는 해당 #include를 주석처리하여 빌드하면 된다.
물론 Release 빌드에서 개발을 계속하려면 위의 과정처럼 한번 컴파일한 뒤에 Release폴더에 있는 *.tlh파일을 Debug폴더의 것을 대신하여 포함하여 개발하면 된다.
필자는 프로젝트 전체에서 사용하기 위하여 pch.h(Visual Studio 구버전: stdafx.h)에 넣고 사용하였다.
'윈도우 프로그래밍' 카테고리의 다른 글
MFC 다이얼로그에서 컨트롤 관련 깜박임 문제 해결 (0) | 2022.03.21 |
---|---|
MFC 모든 차일드 윈도우 얻어오는 방법 (0) | 2022.03.11 |
MFC 커스텀컨트롤에서 CWnd의 OnCreate 불리지 않는 문제 해결법 (0) | 2022.03.09 |
CComVariant(tagVARIANT)을 wstring 혹은 CString으로 변환하기 (0) | 2021.10.05 |
윈도우 할당 메모리 개념(Private, Virtual, WorkingSet) (0) | 2017.04.16 |
32bit 윈도우 어플리케이션 사용 가능 최대 메모리 (확장 옵션 설명 포함) (0) | 2017.03.19 |
64bit 윈도우 프로그래밍 (0) | 2009.08.21 |
Low Fragementation Heap(LFH) (0) | 2009.07.03 |