인클루드 #include <atlconv.h>
CString bstrToCString(BSTR bstr)
{
char* pbstr;
USES_CONVERSION; //convert를 위한 매크로
pbstr=OLE2A(bstr); //bstr을 char로 convert
return CString(pbstr);
}
BSTR CStringTobstr(CString str)
{
return str.AllocSysString(); //CString을 bstr로 convert
}
[bstr-> char*]
BSTR inputdata;
char *pbstr;
pbstr=OLE2A(inputdata);
[char* -> bstr]
TCHAR szTitle[ 512 ];
_bstr_t bstrText = szTitle;
*bstrTitle = bstrText.copy();
//CString ==> CComVariant로 변환
CComVariant out(str.AllocSysString()); or CComVariant out(str);
----------- VARIANT 구조체 사용예 ----------
VARIANT vVal;
VariantInit(&vVal); //초기화
vVal.vt = VT_BOOL;
vVal.boolVal = TRUE;
---------- BSTR 사용예 --------------
1) BSTR m_pStr;
m_pStr = L"Hello CodeIn"; // 문자의 개수가 지정되지 않음
2) wchar_t Example[] = L"String";
BSTR m_pStr = SysAllocString(Example); // BSTR 문자열 영역확보
//..
SysFreeString(m_pStr); // BSTR 문자열 영역 해제
---------------- CComVariant, CComBSTR ---------------
VARIANT => CComVariant;
BSTR => CComBSTR
'프로그래밍 > VC++' 카테고리의 다른 글
BSTR (0) | 2007.03.08 |
---|---|
ActiveX로 인스톨러 만들기 (0) | 2007.03.08 |
TLB도 Release, Debug 모드에 맞춰서 Import 하자. (0) | 2007.02.23 |
COleDateTime으로 오늘 날짜 가져오기 (0) | 2007.02.02 |
COM에서 DATE 타입 사용하기 (0) | 2007.02.02 |