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对象?
...全文
363 14 打赏 收藏 转发到动态 举报
写回复
用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变量转为结构体可以吗
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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