递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[视窗] 火山DLL返回文本的正确方法

[复制链接]

134

主题

391

帖子

3432

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3432
跳转到指定楼层
楼主
发表于 2022-6-13 20:57:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Windows API 都是这样搞的,大家调用API时会有发现的

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

傲游截图20220613204300.png

火山学习.zip

15.36 KB, 下载次数: 17

回复

使用道具 举报

14

主题

494

帖子

3059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3059
沙发
发表于 2022-6-14 06:48:43 | 只看该作者
文本型的话API都是传指针的,单个返回值放在参数那里没意义,除非需要接收多个返回值,其次就是表格定义的API只使用于32位,再就是一个API有不同的参数,但是表格只能定义一个,也就是多类型的API只能定义一个,还有如果要做到32位和64位通用,那就有部分API不能用,因为64位有的API是一个宏,我个人认为表格定义API应该是过度下易语言用户方便转到火山的
回复

使用道具 举报

10

主题

169

帖子

1382

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1382
板凳
发表于 2022-6-14 11:03:26 | 只看该作者
福寿 发表于 2022-6-14 06:48
文本型的话API都是传指针的,单个返回值放在参数那里没意义,除非需要接收多个返回值,其次就是表格定义的A ...

能出个多参数的例子看下吗 哥们,想多学习几种这种调用的方法
回复

使用道具 举报

87

主题

948

帖子

4889

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4889
地板
发表于 2022-6-14 13:06:34 | 只看该作者
用部件dll..
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
5#
发表于 2022-6-14 14:22:31 | 只看该作者
福寿 发表于 2022-6-14 06:48
文本型的话API都是传指针的,单个返回值放在参数那里没意义,除非需要接收多个返回值,其次就是表格定义的A ...

确实是的,这个只是为了方便易语言用户使用dll。。其实这个表格本质上翻译出来代码,就是动态载入dll,只不过给你写死了。。

当然后面火山也会封装动态载入dll的方法,还需要耐心等待。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
6#
发表于 2022-6-14 14:23:37 | 只看该作者
如果只是火山和火山调用用部件dll更方便。

具体看教程:第一章,第三节中部件dll的介绍。
http://doc.voldp.com/e_To_vol/index.html
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

14

主题

494

帖子

3059

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3059
7#
发表于 2022-6-14 17:22:30 | 只看该作者
jiaozhu 发表于 2022-6-14 11:03
能出个多参数的例子看下吗 哥们,想多学习几种这种调用的方法

第一种和易语言一样,先用LoadLibrary获取dll句柄,再通过GetProcAddress获得地址,然后调用,此方法只需要定义两个API就可以调用所有API了,优点就是参数类型可以随意定义,这个是表格式做不到的,第二种就是直接嵌入,因为内部已经定义好了,直接使用就行了,第二种才是最完美的用法
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 09:23 , Processed in 0.092637 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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