ATL中存储Variant对象探讨。

superrg 2007-04-03 07:20:21
在ATL中实现了一个ICollection接口,其功能跟VB的Dictionary或Collection相类似。调用时都是用VB程序调用。现在的问题是:在其中保存数字或字符串,可以正常放入和取出。但在其中保存Variant对象时,当创建Variant的VB程序退出后,不能正常取出其中的Variant对象,会抛出异常。估计是VB的Variant对象被VB销毁了。

现在的问题是:有什么办法可以不让VB销毁对象,或在ATL中复制一份一模一样的Variant对象?
...全文
250 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
superrg 2007-04-03
  • 打赏
  • 举报
回复
但是值还是丢失。
superrg 2007-04-03
  • 打赏
  • 举报
回复
好了,pItem没有初始化的原因。
superrg 2007-04-03
  • 打赏
  • 举报
回复
按上面的方法试了,
VARIANT *pItem;
VariantInit(pItem);
VariantCopy(pItem,vItem);

结果报错:Object not found.
蒋晟 2007-04-03
  • 打赏
  • 举报
回复
msdn2.microsoft.com/en-us/library/ms221697.aspx
superrg 2007-04-03
  • 打赏
  • 举报
回复
VB版的地址如下:
http://community.csdn.net/Expert/topic/5437/5437809.xml?temp=.8587305
superrg 2007-04-03
  • 打赏
  • 举报
回复
楼上的,请问要做什么特殊处理呢?
东文-桑晨 2007-04-03
  • 打赏
  • 举报
回复
MARK
线程间对象传递需要先做特殊的处理的
CathySun118 2007-04-03
  • 打赏
  • 举报
回复
lz,为何一定要传com对象呢,能不能换成别的方式

3,245

社区成员

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

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