Invalid Address specified to RtlValidateHeap错误

rnon637 2009-11-19 02:49:06
我封装了dll 原来是exe 现在封装成dll
发现了这个错误 函数都执行没问题 就是函数执行完 就爆这个错误
我没用dll什么的 就用了string
...全文
641 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rnon637 2009-11-23
  • 打赏
  • 举报
回复
问题解决了 封装dll 最好类型不要用string 这样很容易有问题
还有就是在传入参数 加上const这样 就保证不会有问题了
rnon637 2009-11-19
  • 打赏
  • 举报
回复
调用是
void CTestDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
string ts = m_text;
string sData = _ConvertHextoCString(ts);

AfxMessageBox(sData.c_str());

}

dll封装函数是
#include "stdafx.h"
#include <string>
using namespace std;

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
string ConvertHextoString(string hex)
{
string result;
char temp[3];
int i = 0;
int nLen = hex.length();
if (nLen%2 != 0)
{
return "ERROR";
}

return result;
}

64,661

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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