CString 不能在 dll 中使用?奇怪了

BlueanGel 2004-11-21 11:42:19
dll 有个函数对 CString 进行赋值操作

可是每当赋值操作的时候总会提示错误

错误位置在 SetString 函数中的

PXSTR pszBuffer = GetBuffer( nLength );

......

难道 CString 不能用在 dll 中?
...全文
248 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnochShen 2004-11-22
  • 打赏
  • 举报
回复
#include <afx.h>就可以用CString了,不过建议你用

#include <algorithm>
#include <deque>
#include <string>

typedef std::deque<std::string> DequeString;这个

蒋晟 2004-11-22
  • 打赏
  • 举报
回复
CString.Format的参数中不能包含自己。
顺便说一下,非MFC的程序不识别CString,所以建议不要使用CString 作为导出函数的参数
BlueanGel 2004-11-22
  • 打赏
  • 举报
回复
找到问题了,CString 变量作为类成员存在于 dll

无法访问调用主程序的内存空间,改为全局变量就好了
某鸟 2004-11-22
  • 打赏
  • 举报
回复
你的buffer里的东西有\0的结束符么
北京的雾霾天 2004-11-22
  • 打赏
  • 举报
回复
是MFC类型的DLL吗?
如果不是就不能用了,因为CString是专用于MFC的.
BlueanGel 2004-11-22
  • 打赏
  • 举报
回复
......

楼上的同志们...

不是 MFC 的程序,使用 CString 能编译连接通过?

你们看明白我的问题再说吧
vampireal 2004-11-22
  • 打赏
  • 举报
回复
字符指针才是最保险的
38062708 2004-11-22
  • 打赏
  • 举报
回复
只有支持 MFC 才能使用 CString ,在 DLL 中,最好不要使用 CString 作为函数的参数用来传递,需要的话可以用基本数据类型 BSTR 来传递参数
老夏Max 2004-11-22
  • 打赏
  • 举报
回复
CString是MFC类,只能在MFC的程序中才能被识别。Win32 DLL中不行!
jennifergiant 2004-11-22
  • 打赏
  • 举报
回复

WIN32的DLL中不能使用CString
luoyu971 2004-11-22
  • 打赏
  • 举报
回复
顶!顺便也学习一下!

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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