社区
C++ Builder
帖子详情
怎样在 DLL 中返回字符串等等非int的值?好像不可能?
happyer
2001-10-15 12:46:53
我使用了 _stdcall ,保证兼容性。
但是,我想让应用程序加载DLL,并调用函数返回一个字符串,怎么做?
返回 int 没有问题,但是String / AnsiString 就不行了?
高手帮忙啊!谢谢!
...全文
126
9
打赏
收藏
怎样在 DLL 中返回字符串等等非int的值?好像不可能?
我使用了 _stdcall ,保证兼容性。 但是,我想让应用程序加载DLL,并调用函数返回一个字符串,怎么做? 返回 int 没有问题,但是String / AnsiString 就不行了? 高手帮忙啊!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bobqi
2001-10-15
打赏
举报
回复
你可以用数组来做啊
happyer
2001-10-15
打赏
举报
回复
不晚不晚!
我欢迎各种方法。大家尽管放马过来。
正好还没有结贴,就先等等。
有好的解决方案的,有加分哦!嘿嘿。
TO Wingsun(孙春阳):
你是说可以直接返回非int类型数据?
给我一个例子,就用 String 吧。
如果可以,给分!
Wingsun
2001-10-15
打赏
举报
回复
我觉得是绝对可以的。估计你的代码有问题。
LuoGD
2001-10-15
打赏
举报
回复
我晚了!唉
happyer
2001-10-15
打赏
举报
回复
已经搞定。用了char *
不过中间用了一大堆强制类型转换。
happyer
2001-10-15
打赏
举报
回复
其实我的C++水平不怎么样。
所以,看不懂你的意思。
我先解释我的意思:
我要用DLL封装一个查询数据库的功能,然后调用时,不需要给DLL参数,仅仅调用函数名就行了。然后DLL返回给主程序一个字符串结果。这是我的目的。
希望高手们能够讲清楚一点,我实在笨。
ddeng
2001-10-15
打赏
举报
回复
对于AnsiString可以做引用调用嘛
void __stdcall GetStr(AnsiString& Str) {
Str = "haha";
}
调用:
AnsiString S;
GetStr(S);
对于char *,就得保证空间可用了
void __stdcall GetStr(char s[256]) {
strncpy(s, "hahahahaha", 256)
}
调用前得保证s具有空间,如:
char s[256];
GetStr(s);
gloom
2001-10-15
打赏
举报
回复
char* 不就可以了吗?我都用过了的啊
happyer
2001-10-15
打赏
举报
回复
你是说用DLL返回数组首地址?
可以吗?
DLL 本身在 0~2G空间段,操作系统对他保护,好像不能这样访问吧?
C#调用
DLL
库的方法
net平台上,调用
dll
文件有2种含义1、调用托管
dll
,即你使用。net平台开发的
dll
,属于托管代码2、调用
非
托管
dll
,即传统的
dll
,一般是C++,VB,DELPHI等等开发出来的,属于
非
托管代码。从你的意思
中
看出来你现在是调用托管的
dll
,方法是 “在解决方案管理器” - “解决方案”(或项目)
中
的任意地方, 右键“添加引用”,“浏览”,选择你需要调用的
dll
文件...
C#引用c++
DLL
结构体数组注意事项(数据发送与接收时)
最近做的项目,需要在C#
中
调用C++ 写的
DLL
,因为C# 默认的编码方式是Unicode,而调用的
DLL
规定只处理UTF8编码格式的
字符串
,
DLL
中
的输入参数类型char*被我Marshal成byte[],输出参数类型char**被我Marshal成了string(C++和C#之间的类型转换请参阅相关资料),于是我就经历了无数次用于接收时的string-->string(UTF8-->Unic
delphi
dll
创建及调用
第一章
DLL
简单介绍由于在目前的学习工作
中
,需要用到
DLL
文件,就学习了下,在这里作个总结。首先装简单介绍下
DLL
:1,减小可执行文件的大小
DLL
技术的产生有很大一部分原因是为了减小可执行文件的大小。当操作系统进入Windows时代后,其大小已经达到几十兆乃至几百兆。试想如果还是使用DOS时代的单执行文件体系的话一个可执行文件的大小
可能
将达到数十兆,这是大家都不能接受的。解决的方法就是...
在上司面前硬不起来?教你如何快速将
字符串
转换为可执行代码
老是因为活不好被上司欺凌? 在上司面前很没面子? 在上司面前硬不起来? 是时候分享一个可以快速将
字符串
转换为可执行代码的项目给你了 -YACE...
C# 调用
Dll
net平台上,调用
dll
文件有2种含义1、调用托管
dll
,即你使用。net平台开发的
dll
,属于托管代码2、调用
非
托管
dll
,即传统的
dll
,一般是C++,VB,DELPHI等等开发出来的,属于
非
托管代码。从你的意思
中
看出来你现在是调用托管的
dll
,方法是 “在解决方案管理器” - “解决方案”(或项目)
中
的任意地方, 右键“添加引用”,“浏览”,选择你需要调用的
dll
文件...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章