收录日期:2020/11/26 22:59:45 时间:2016/07/06 09:03:04 标签:进程/线程/DLL
在exe中:
myexef(){
CString s1,s2;
...//动态加载myDll.dll
s1="How are yur";
s2=myDLLF(s1);   //该语句调用DLL中的函数,执行正常,函数返回值正确无误.
s3=s2;    //该语句会出错,该如何将s2的值赋值给s3呢?
...
s1.freeExtrc();
s2.freeExtrc();   //这一语句也会出错,该如何释放s2呢?
s3.freeExtrc();
}
s3=s2;    //该语句会出错,该如何将s2的值赋值给s3呢? 
s3 没定义吧?
s2.freeExtrc();  //这一语句也会出错,该如何释放s2呢?
先注释掉这句看看..
我怀疑是myDLLF函数中有问题
请查一下此文件
dll中和exe中,new时使用的堆是不同的,dll中new出来的内存要在dll中释放,exe中new出来的内存要在exe中释放。当然,重载new操作符,使用同一个堆进行分配就不需要这样。
s3是怎么定义的?
myDLLF是怎么定义的?把返回值改成CString试试。如果在不同的模块中分配和释放内存,Debug版就会报错。
LZ 问题讲得不是很清楚..
myDLLF函数是这样的:
CString myDLLF(CString s)
{
  CString st;
  ...
  st.FreeExtrc();

  teture s;
}

另:
在EXE的函数中存在:CString S3 
参数类型最好不要用CString,改成其它的试试
在调用DLL的myDLLF(s1)函数之后,只要该语句中有的变量在后续语句中使用,就会出问题.
另外,程序改成下面这样,在myexef()函数执行完毕也会报错.
在exe中: 
myexef(){ 
CString s1,s2; 
...//动态加载myDll.dll 
s1="How are yur"; 
s2=myDLLF(s1);  //该语句调用DLL中的函数,执行正常,函数返回值正确无误. 
//s3=s2;    //该语句会出错,该如何将s2的值赋值给s3呢? 
... 
//s1.freeExtrc(); 
//s2.freeExtrc();  //这一语句也会出错,该如何释放s2呢? 
s3.freeExtrc(); 
} //前面不会有错了,但到这里(即本函数执行结束),也会出错.
//前面不会有错了,但到这里(即本函数执行结束),也会出错.
是s3.freeExtrc(); 这句错了吧.S3都没看到有值,你想让它释放内存地址?
蓝雾幽影兄弟:
s3确确实实是定义了的
是不是你的EXE与DLL使用MFC的方式不同,一个用MFC静态库,另一个用共享DLL中的MFC?

调查,请问国内现在那些大中型的软件企业使用Sybase的Powerbuild一套解决方案来进行大型c/s结构应用系统开发的,谢谢! 一个打印的问题(等待中。。。。) 我想找一份兼职程序工作,本人做过好多mis系统以及网站,有5年的工作经验,现在在北京 急急!!!!!TNestedTable 如何使用,有和注意事项,在先等待 关于ledbconnection的关闭问题 我今天才学VB 得分容易啊!!!!!! 一个stringgrid的问题,清高手指点 各位大哥大姐:水草求救!!!!!呼吁中国有正义感的程序员站出来!!! ias下配置servlet是否与其它服务器不同? 为什么现在用DELPHI的人越来越多啊?? 我有一个固定ip,想做一个网站.如何声请欲名.如何让别人输入我的网址就解释的我的ip呀 我的CEDIT控件设置了mutiline,但是程序里还是不能换行呀? 请看我sqlserver问的存储过程问题(100分)http://www.csdn.net/expert/topic/880/880485.xml?temp=.8870203 好主意送大分(女朋友买这只小兔子养,至烦),如何让她放弃不养呀。 各位大哥大姐;水草求救!!!!呼吁中国有正义感的程序员站出来!!! 如何把excel中的数据导入到数据库中啊 数据库是access. sql anywhere 请用过weblogic的高手看过来,重分求助! 请用过weblogic的高手看过来,重分求助! 在stringgrid里如何把一个控件嵌入cell里 拨号程序用RAS还是TAPI比较好? 如何用internet transfer 控件上传word文件(至急) 获取网页内容的程序总有问题? \"类\"错误!请各位大虾帮忙? 急关于ADO的问题送上200分 一个单线程,没有窗体的程序,可以使用timer吗? 如何在登陆前启动 我写了一个模板,但是Release的运行速度,比Debug还慢,真是搞不懂。 win98中安装了MSDN,WIN2000中安装了VB ,能不能把VB的帮助连接到MSDN 局域网如何实现视频传输(mpeg1),急!急! 在VB中怎样用二进制读写文件,要求一次只读写一个字节,请给出代码