调试: 解决跨进程时使用CString报错的问题, [Invalid Address specified to RtlFreeHeap]

原创 2011年01月08日 23:36:00

起因:

  今天我封了一个类, 里面有CFileDialog的操作. 作为工程内的实现运行时,完全正常.

  为了其他MFC程序代码重用, 制作了带导出类的MFC扩展DLL. 当在另外一个exe中调用此Dll时, IDE在跨进程CString串赋值的时候报错.

 

  找了下资料, 没有说道要害处的文章. 经过实验, 发现这是mfc的一个BUG. 我的解决方法是, 如果跨进程对CString赋值操作, 需要另外写一个专门的跨进程CString赋值的函数. 变形后的CString跨进程使用如下, 经过实验, 下面的代码运行稳定正常.

 

用这种方法来解决[跨进程使用CString报错], 较为简单方便~, 在网上还没看到用这种方法解决问题的思路~.

 

为了给客户调用时写的Dll, 传递的应该都是标准的Win32内建类型, 要不调用方也没办法使用.

 

为了给同种语言调用, 可以传递非标的参数.

对于C++调用, Dll中导出类是一个好的选择.

 

对于MFC程序, 导出MFC类, 使用起来更方便. 如果客户要实现同样的功能, 在此MFC导出类Dll上再封个标准的Dll给他. 这样做,工作量比较小.

 

 

版权声明:

Invalid Address specified to RtlValidateHeap

一.首先是”Invalid Address specified to RtlValidateHeap“找到了这篇文章:http://hi.baidu.com/umu618/blog/item/d4e8...

HEAP[xxx.exe]:Invalid Address specified to RtlValidateHeap 错误的解决方法总结

一、情况一 抽象出问题是这样的: class DLL_API1 A { func() { vector vec; B b; b.func(vec); return...

VS2013 OpenCV 2.4.9 “HEAP:Invalid Address specified to RtlValidateHeap( 000D0000, 019FEF18 )” 错误

在 VS2013、OpenCV 2.4.9 环境下,运行调试程序过程中先是出现“触发了一个断点”的异常: 中断停止调试后,输出窗口显示 “HEAP[XXX.exe]:Invalid Address...

Invalid Address specified to RtlValidateHeap

一.首先是”Invalid Address specified to RtlValidateHeap “ 找到了这篇文章:http://hi.baidu.com/umu618/blog/item/d...

Spark 启动历史任务记录进程,报错 Logging directory must be specified解决

Spark 启动历史任务记录进程,报错 Logging directory must be specified解决

解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常

配置tomcat的SSL双向握手中,由于6.0.33版本中默认启用了APR(APR是通过JNI访问的可移植库,可以提高Tomcat的性能和伸缩性),所以采用传统的配置方式(如下)会报异常;   ...

[乐意黎原创] 完美解决 javax.mail.SendFailedException: Invalid Address 与 SMTPAddressFailedException 抛错

javax.mail.SendFailedException: Invalid Addresses; com.sun.mail.smtp.SMTPAddressFailedException: 55...
  • aerchi
  • aerchi
  • 2014年12月03日 10:21
  • 21689

[记录]移植驱动完毕后加载时的version magic报错原因以及解决办法(invalid module format)

原文地址::http://blog.sina.com.cn/s/blog_6e5e78bf010105jj.html 相关文章 1、加载模块出错:version magic '2.6.32-504...

POST提交时总是报错: {"errcode":40017,"errmsg":"invalid button type"} 解决办法

POST提交时总是报错: {"errcode":40017,"errmsg":"invalid button type"} 解决办法 开发内容:微信自定义菜单 执行MenuManage.java时...
  • wyx100
  • wyx100
  • 2015年05月19日 00:29
  • 11913

内存写越界导致破环堆结构引起的崩溃问题定位经验[如报错malloc(): memory corruption或free(): invalid next size]

转载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:调试: 解决跨进程时使用CString报错的问题, [Invalid Address specified to RtlFreeHeap]
举报原因:
原因补充:

(最多只允许输入30个字)