社区
VB基础类
帖子详情
ATL中存储Variant对象探讨。
superrg
2007-04-03 07:21:24
在ATL中实现了一个ICollection接口,其功能跟VB的Dictionary或Collection相类似。调用时都是用VB程序调用。现在的问题是:在其中保存数字或字符串,可以正常放入和取出。但在其中保存Variant对象时,当创建Variant的VB程序退出后,不能正常取出其中的Variant对象,会抛出异常。估计是VB的Variant对象被VB销毁了。
现在的问题是:有什么办法可以不让VB销毁对象,或在ATL中复制一份一模一样的Variant对象?
...全文
362
14
打赏
收藏
ATL中存储Variant对象探讨。
在ATL中实现了一个ICollection接口,其功能跟VB的Dictionary或Collection相类似。调用时都是用VB程序调用。现在的问题是:在其中保存数字或字符串,可以正常放入和取出。但在其中保存Variant对象时,当创建Variant的VB程序退出后,不能正常取出其中的Variant对象,会抛出异常。估计是VB的Variant对象被VB销毁了。 现在的问题是:有什么办法可以不让VB销毁对象,或在ATL中复制一份一模一样的Variant对象?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fankun
2007-04-04
打赏
举报
回复
用type
……
end type来接收要传递的变量,然后在其他地方引用。
蒋晟
2007-04-04
打赏
举报
回复
1 在堆上创建(new)而不是在栈上声明变量
2 实现访问接口和引用计数
3 实现线程安全
superrg
2007-04-04
打赏
举报
回复
请问如何复制?
superrg
2007-04-04
打赏
举报
回复
感谢关注。经过两天的努力,终于没有实现,明天散分了。
蒋晟
2007-04-03
打赏
举报
回复
实现IDispatch并且加上线程安全的代码,使得在同一时间只有一个线程可能可以访问集合。
蒋晟
2007-04-03
打赏
举报
回复
把变量复制一份就可以了
superrg
2007-04-03
打赏
举报
回复
忘了说,变量传递是在不同的线程间进行的。
superrg
2007-04-03
打赏
举报
回复
支持的,
CathySun118
2007-04-03
打赏
举报
回复
Variant对象vc不支持吧
蒋晟
2007-04-03
打赏
举报
回复
msdn2.microsoft.com/en-us/library/ms891674.aspx -
superrg
2007-04-03
打赏
举报
回复
VC版的地址如下:
http://community.csdn.net/Expert/topic/5437/5437808.xml?temp=.8067743
superrg
2007-04-03
打赏
举报
回复
to fankun(虾虾《农夫三拳——哼哼哈嘿》):
如何转成结构体?
to jiangsheng(蒋晟.Net[MVP]):
线程的同步没有问题,现在关键的问题是:声明Variant变量的线程退出后,无法访问对变量的内容。
CathySun118
2007-04-03
打赏
举报
回复
lz,为何一定要传com对象呢,能不能换成别的方式
fankun
2007-04-03
打赏
举报
回复
把variant变量转为结构体可以吗
向
ATL
DLL
中
传递C++
对象
类型:翻译出处:http://www.codeguru.com时间:2004-09-27 译者:王先生(MrWang2000) Email : yuanzhaowang@sohu.com 或yuanzhaowang@163.com实例下载地址 Download source files - 116 Kb 几个星期以前,我拼命的寻找一个能够通过COM接口传递C++
对象
的例
C++通过
ATL
访问Excel时 使用COleSafeArray批量读写数据及公式
c++开发
中
在使用
ATL
对Excel进行操作时,使用COleSafeArray对Excel的内容进行批量读写,包括数据的批量读写及公式的批量写入。
32、可脚本化的Shell
对象
编程指南
本文详细介绍了使用Visual Basic和C++进行可脚本化Shell
对象
编程的方法,涵盖文件夹与文件项的操作、动词的调用、辅助
对象
的使用等内容,并通过完整的代码示例展示了如何在实际项目
中
应用这些技术,帮助开发者更好地实现系统级交互功能。
STL与
ATL
在Windows C++开发
中
的协同应用与实战指南
在C++开发
中
,泛型编程和组件化是两种核心范式。泛型编程通过模板实现算法与数据结构的解耦,提升代码复用和类型安全,其技术价值在于构建高效、通用的基础库。组件化则关注二进制接口和跨模块协作,在系统集成和大型软件架构
中
至关重要。这两种范式在Windows平台开发
中
分别由STL(标准模板库)和
ATL
(活动模板库)具体实现。STL作为C++标准库的核心,提供了容器、算法和迭代器等通用组件,而
ATL
则专门简化COM(组件
对象
模型)开发,用于创建与Windows系统深度集成的模块。在实际工程
中
,开发者常需同时处理内部数
ATL
中
类型库的注册
一直不想管什么类型库之内的东西,觉得它对我的浏览器扩展工作一点作用也没有,但是最近研究的部分又离不开它,一直可爱的vb
中
使用com又都是靠它,还有可爱的.net 也用它来生成程序集的,没办法也只能学习下看。对于非c++语言或是脚本语言都读不懂什么头文件
中
的信息,我们需要通过一种
中
立的方式来让一般语言得到这些信息,类型库就是这样一种约定的“二进制”形式为了使它对于一个脚本引擎读取我们类
VB基础类
7,787
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章