我有一个关于COM+得问题

foxcafe 2001-10-27 10:48:16
我用vc6 atl win32sdk 做com+组件 A,组件A 直接用vb客户端访问,返回的断开记录集正常,在同一个application包中,用另一个组件B 访问组件A ,出现Access Violation,调试发现组件B 中调用组件A 得到的记录集的IUnknown下的__vfptr == NULL, 我的记录集是用shape生成的层次记录集,用Fields关联。

...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxcafe 2001-10-30
  • 打赏
  • 举报
回复
我现在找到了以上问题的答案,但不知为什么会出现这种情况,
在用#import生成的wrapper中,

inline IDispatchPtr IBosView::GetBosByID ( _bstr_t ID ) {
IDispatch * _result;
HRESULT _hr = raw_GetBosByID(ID, &_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return IDispatchPtr(_result, false);
}

直接调用raw_GetBosByID(ID, &_result);就没有问题,调用GetBosByID ( _bstr_t ID )
就出现返回的对象__vfptr == NULL,在以前这样做没有问题,这个问题是前几天突然出现的,有人可以帮我解释以下吗?

Thanks
ran1 2001-10-28
  • 打赏
  • 举报
回复
up
foxcafe 2001-10-27
  • 打赏
  • 举报
回复
难道没人可以回答吗?

3,245

社区成员

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

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