关于ATL在vb下访问数据库的问题

tccqs 2008-04-29 09:59:26

STDMETHODIMP Catl9::get_Enc(BSTR *pVal)
{
*pVal = SysAllocStringByteLen(NULL,m_nSize);
memcpy(*pVal, m_szData, m_nSize);

return S_OK;
}

STDMETHODIMP Catl9::put_Enc(BSTR newVal)
{
char * cc=_com_util::ConvertBSTRToString(newVal);

//BSTR bstrText = ::SysAllocString(L"你好are啊");
//int nLen = ::SysStringLen(newVal);
m_nSize = strlen(cc);
memset(m_szData, 0, m_nSize);
//memcpy(m_szData, newVal, nLen);
strcpy(m_szData,cc);

return S_OK;
}

以上为ATL里的代码,为什么在get_Enc里加了
memcpy(*pVal, m_szData, m_nSize);在vb里调用时会出现:实时错误'6160'
如下为VB里的调用,,

Do Until rst.EOF
atl9.Enc = DGSrcRst.Columns(ListField.List(nListIndex)).Text
DGSrcRst.Columns(ListField.List(nListIndex)).Text = atl9.Enc
rst.MoveNext
Loop
...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tccqs 2008-04-30
  • 打赏
  • 举报
回复
类里这样定义的:
char * m_szData[20]
CathySun118 2008-04-30
  • 打赏
  • 举报
回复
检查m_szData
hanjinchidm 2008-04-30
  • 打赏
  • 举报
回复
up

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧