问题是这样的:
我在VS2005中开发,会用到外部DLL中提供的一个接口,如下(外部DLL中某个类的成员函数):
GetName(CString &str)引用方式1:
CString temp;
p->GetName(temp);<--- 报错的都是这一行
结果:无论是Debug还是Release版,都报如下错误:
HEAP[Test.exe]: Invalid Address specified to RtlFreeHeap
如果选择继续,GetName()能正确返回结果.引用方式2:
CString temp("");
p->GetName(temp);<--- 报错的都是这一行
同上面情况一样引用方式3:
CString temp("1");
p->GetName(temp);<--- 报错的都是这一行
同上面情况一样引用方式4:
CString temp("11");
p->GetName(temp);
这样就没问题了,无论是在Debug中执行还是在release中执行都正常.上面的p指针都是正确初始化了的
高手指教啊!!! 搞了两三天了,一点头绪都没有
我在VS2005中开发,会用到外部DLL中提供的一个接口,如下(外部DLL中某个类的成员函数):
GetName(CString &str)引用方式1:
CString temp;
p->GetName(temp);<--- 报错的都是这一行
结果:无论是Debug还是Release版,都报如下错误:
HEAP[Test.exe]: Invalid Address specified to RtlFreeHeap
如果选择继续,GetName()能正确返回结果.引用方式2:
CString temp("");
p->GetName(temp);<--- 报错的都是这一行
同上面情况一样引用方式3:
CString temp("1");
p->GetName(temp);<--- 报错的都是这一行
同上面情况一样引用方式4:
CString temp("11");
p->GetName(temp);
这样就没问题了,无论是在Debug中执行还是在release中执行都正常.上面的p指针都是正确初始化了的
高手指教啊!!! 搞了两三天了,一点头绪都没有
解决方案 »
- CSocket TCP通信,服务器如何知道是哪个客户端断开连接?
- socket多文件传输 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
- 键盘钩子 屏蔽所有按键
- 我想处理音频设备,引用winmm.dll出错
- DLL内的被掉函数在返回时出错,请高手给看看代码。
- GetSafeHdc是哪个类的成员?
- 网关问题请教
- 如何加快画曲线的速度
- 请问,打开一个这样的“打开文件对话框”如何实现?
- ※※※※ 谁能给我一段getsockname的例子 ※※※※
- 看到一个 Senior 开发人员, 看完了之后觉得自己还是 初级都不敢说 呵呵
- fatal error RC1107: invalid usage; use RC /? for Help
所以,不要传CString的引用进去。
改成:GetName(const CString &str)
还是换成最简单的WCHAR buffer 吧.
切忌!
其次,估计你的这个报错是在GetName内部