VC和JS交互返回字符串,麻烦帮忙看看我的代码有没有内存泄露的问题

Solozi 2013-05-13 11:30:34

DISP_FUNCTION(CWebControl, "ResDataTest", ResDataTest, VT_VARIANT ,VTS_NONE ) //消息映射

VARIANT CWebControl::ResDataTest( )
{
_bstr_t bstr = szBuf; //ansi字符串BUF,定义略
_variant_t vt;
vt.vt=VT_BSTR;
vt.pbstrVal = (BSTR *)bstr.Detach();
return vt.Detach();
}


代码如上,CHtmlView的扩展类,返回字符串给JS,因第一次弄基于COM的东西,不清楚以上写法有没有内存泄漏的问题?
另外,这种返回字符串给JS的写法还有没有更简单的做法,能否不用_variant_t 直接返回BSTR呢,
如果能的话那消息映射那怎么用什么返回类型,函数返回类型用啥?
以上共两个问题,望都能指点一二,不胜感激
...全文
169 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2013-05-27
  • 打赏
  • 举报
回复
Detach做了拷贝,所以应该不会泄露
世纪殇 2013-05-27
  • 打赏
  • 举报
回复
我也想学,顶一下吧
内容概要:本文档是一份关于开发经典小游戏“贪吃蛇”的保姆级毕业设计指导文档,涵盖从游戏规则、功能设计、技术选型到核心代码实现的完整流程。文档以Python + Pygame为技术栈,详细讲解了游戏初始化、蛇的移动逻辑、食物生成、碰撞检测、计分与等级系统、键盘控制及主循环渲染等核心模块,并提供了完整的项目结构和源码示例。采用状态机管理游戏状态,使用列表模拟链表结构存储蛇身,结合方向缓冲机制优化操作体验,同时引入难度递增机制提升可玩性。文末还列举了飞机大战、扫雷、五子棋等同类课题作为拓展参考。; 适合人群:具备一定编程基础、正在进行毕业设计或课程设计的学生,尤其是对游戏开发感兴趣的初级开发者。; 使用场景及目标:①帮助学生独立完成一个功能完整、结构清晰的小游戏项目,用于毕业答辩或课程展示;②深入理解事件驱动编程、状态管理、碰撞检测、定时刷新等基础编程概念;③掌握Python + Pygame开发2D小游戏的核心技能,并具备二次开发与功能拓展能力。; 阅读建议:建议读者按照“规则→设计→代码→运行”的顺序逐步学习,动手实践每个模块并调试代码,重点关注方向缓冲、状态机、食物生成算法等设计细节,同时可尝试实现文末提出的拓展功能以增强项目亮点。

3,248

社区成员

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

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