问: 在ActiveX组件中分配了String资源是否会被自动释放呢?

wangchinaking 2003-12-16 10:13:08
如题.
使用CString类中的AllocSysString()分配了BSTR的资源,如果我不做SysFreeString(), ActiveX组件是否会自动释放呢?
...全文
44 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangchinaking 2003-12-16
  • 打赏
  • 举报
回复
再说, 在OLE里面分配的资源应该会自动释放才对啊.
wangchinaking 2003-12-16
  • 打赏
  • 举报
回复
因为我是要将ActiveX组件里的数据BSTR传出来的,因此没发知道用户什么时候不用它了,也就不能随便释放它.那么我是不是非得在上层应用里做那个释放的动作呢?
checkyvc6 2003-12-16
  • 打赏
  • 举报
回复
呵呵,我也遇到过啊
robinzo 2003-12-16
  • 打赏
  • 举报
回复
不会释放,建议你看看MSDN中关于BSTR的介绍和例子
wangweixing2000 2003-12-16
  • 打赏
  • 举报
回复
不会的,不过可以通过客户端进行释放!一般最好在控件里自己释放比较好!
hanyixin 2003-12-16
  • 打赏
  • 举报
回复

这个当然不会了吧,不过你为什么不做SysFreeString呢?

wangchinaking 2003-12-16
  • 打赏
  • 举报
回复
本人做的一项测试, 我并没有在ActiveX组件的任何地方释放之前已分配的资源(String资源是用CString类中AllocSysString()做的!), 在无休止的"分配资源->取值->分配资源->取值..."过程里,内存资源并没有大量增长, 这说明那个分配的String应该是会被OLE ActiveX自动释放的. 你们说,对不对??

3,245

社区成员

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

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