怎样使VC6支持ConstructString
看了几本书,说道用ConstructString有....好处(自己看书去)
但是VC6附带的头文件是不支持ConstructString的,即使是sp5
自己查了查msdn找到一个办法,将vc7移植到6中
条件你有vc6,vc7
首先,找到uuid.lib comsvcs.lib comsvcs.h,在vc7中
1.
在stdafx.h中
#include "comsvcs.h"
2.类的申明加上从
public IObjectConstruct派生
加上一个成员变量
CComBSTR m_ConstructString;
实现一个成员函数
STDMETHOD(Construct)(IDispatch * pUnk);
STDMETHODIMP YOUCLASS::Construct(IDispatch * pUnk)
{
if (!pUnk)
return E_UNEXPECTED;
HRESULT hr;
IObjectConstructString * pString = NULL;
hr = pUnk-> QueryInterface(
IID_IObjectConstructString, (void **)&pString);
if (pString)
{
pString -> get_ConstructString(&m_ConstructString);
//MessageBox(NULL,(char*)_bstr_t(s),"",MB_OK);
}
return S_OK;
}
4。project setting->link中加入两个lib
这样m_ConstructString就有你指定的STRING了
感觉用处不大,最大的用处估计就是指定ado的连接字符串了
但是有的用总比没的用好
估计关注的人不多,如果有必要的话我提供上面三个文件下载(好像有点违法嫌疑)