递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5427|回复: 7
打印 上一主题 下一主题

[视窗] dll怎么返回文本

[复制链接]

70

主题

188

帖子

1597

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1597
跳转到指定楼层
楼主
发表于 2022-6-13 17:37:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Coco 于 2022-6-13 17:57 编辑

找了很多例子,都是返回固定文本、或者把变量设置为 静态。

调用DLL的函数后,该函数又调用了其他接口得到了一个动态文本。

直接 调用 取文本指针() 并不行,返回的数据已经释放了

所以DLL怎么样才能正确的返回文本啊
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40535
沙发
发表于 2022-6-13 19:31:37 | 只看该作者
。。。
你是在封装api?
还是调用第三方dll?
还是用火山写的dll?
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

70

主题

188

帖子

1597

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1597
板凳
 楼主| 发表于 2022-6-13 19:34:44 | 只看该作者
创世魂 发表于 2022-6-13 19:31
。。。
你是在封装api?
还是调用第三方dll?

用火山写DLL,和调用。以系统为单位,发每个人写一个DLL,然后主EXE调用。另外还为了热更
回复

使用道具 举报

26

主题

204

帖子

3187

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
3187
地板
发表于 2022-6-13 19:38:52 | 只看该作者
直接返回文本 的 在dll内部 需要申请内存 然后调用dll的 还得主动释放内存  
另一个方法是 通过参数 让调用方提供缓存内存 dll内部再向这个内存里写文本 比较推荐这个方法
回复

使用道具 举报

70

主题

188

帖子

1597

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1597
5#
 楼主| 发表于 2022-6-13 19:41:53 | 只看该作者
609177738 发表于 2022-6-13 19:38
直接返回文本 的 在dll内部 需要申请内存 然后调用dll的 还得主动释放内存  
另一个方法是 通过参数 让调 ...

大佬,第一个方案跪求个例子
回复

使用道具 举报

134

主题

391

帖子

3433

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3433
6#
发表于 2022-6-13 20:47:48 | 只看该作者
本帖最后由 阿杰 于 2022-6-13 21:00 编辑

不知是不是你想要的
右边是DLL
左边是DLL调用
这只是一个简单的例子,希望能帮到你
你可根据实际情况改写DLL中的内容
附件下载:
火山DLL返回文本的正确方法 - 火山平台俱乐部 - 火山软件开发平台 - Powered by Discuz! (voldp.com)



傲游截图20220613204300.png (82.18 KB, 下载次数: 38)

傲游截图20220613204300.png
回复

使用道具 举报

70

主题

188

帖子

1597

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1597
7#
 楼主| 发表于 2022-6-13 21:20:44 | 只看该作者
阿杰 发表于 2022-6-13 20:47
不知是不是你想要的
右边是DLL
左边是DLL调用

感谢大佬,正是我想要的~
回复

使用道具 举报

50

主题

567

帖子

2475

积分

金牌会员

Rank: 6Rank: 6

积分
2475
8#
发表于 2022-6-14 11:33:36 | 只看该作者
如果只是让火山写的DLL,让火山写的EXE.调用,就变量地址做参数返回.就可以返回啊!无需又申请又释放的.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 20:52 , Processed in 0.094082 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表