반응형

COM 2

CComVariant(tagVARIANT)을 wstring 혹은 CString으로 변환하기

CComVariant(tagVARIANT)는 모든 타입을 다 넣을 수 있는 union 구조체라서 해당 내용을 디버깅해 보기가 까다롭다. 여기서는 간단히 값을 볼 수 있게 wstring이나 CString으로 변환하게 해놓았다. CComVariant(tagVARIANT)는 vt라는 필드를 가지고 있다. 해당 필드는 객체가 어떤 타입의 값을 가지고 있는지 enum 타입으로 가지고 있다. 아래 코드는 해당 필드를 이용하여 CComVariant(tagVARIANT) 값을 wstring으로 변환하는 코드다. 윈도우에서 짜는 관계로 편의상 CString의 Format을 이용하였다. 고로 함수의 return 타입을 CString으로 변경하고 조금만 수정하면 CString으로도 변경된다. 참고로 아래 코드는 모든 타입을..

COM 객체에 대해서 비주얼스튜디오(Visual Studio)에서 인텔리센스 사용하기

대신증권 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파일이 생..

반응형