精易论坛

标题: 让你的DLL公开子程序也支持类,数据类型参数 [打印本页]

作者: 小白子    时间: 2024-3-22 10:45
标题: 让你的DLL公开子程序也支持类,数据类型参数


这是一个类,编译出模块。


这是dll的公开子程序,编译出dll使用。
另外开一个源码,调用刚才编译的源码,效果如下




dll 和 调用方使用同一个模块的公开类,可以互相传递。
经过测试,如果dll和调用方一起使用同版本的支持库,支持库的数据类型也是可以进行互相传递

但是这个有什么用呢?
经过封装dll的人都知道,如果想要在dll使用传进来的类,那么调用方就要传入一个指针,在dll中就需要进来多次的指针交换
使用前交换一次指针,返回前也要交换一次指针,这样就会大量的重复代码,非常繁琐
所以,本次的解决方案也算是解决的易语言的一大难题了
  
子程序名返回值类型公开备 注
模拟DLL  
参数名类 型参考可空数组备 注
thisAddress整数型
变量名类 型静态数组备 注
JSON存取键值表 
' 使用的时候需要交换一次指针
强制交换变量 (thisAddress, JSON)
如果真 (JSON.取整数 (“test”) ≠ 200)
' 返回结果的时候又要交换一次指针
强制交换变量 (thisAddress, JSON)
返回 ()

' 业务代码
' 业务代码
' 业务代码
' 业务代码
' 每次返回结果的时候都要返回指针
强制交换变量 (thisAddress, JSON)
返回 ()


i支持库列表   支持库注释   
e2eeE2EE互联网服务器套件




dll也支持类参数.zip (8.75 KB, 下载次数: 64)


作者: 447485268    时间: 2024-3-22 14:24
支持开源~!感谢分享
作者: yuxuanju    时间: 2024-3-22 14:31
这个功能十分重要。
作者: 小虎来了    时间: 2024-3-22 14:46
感谢分享,很给力!~
作者: ZHuanR    时间: 2024-3-22 16:30
新技能已get√
作者: kyo9766    时间: 2024-3-22 16:37
学习一下 DLL 调用,感谢分享
作者: 深圳梦    时间: 2024-3-22 19:11
感谢分享,很给力!~
作者: renjianhong48we    时间: 2024-3-22 20:33
感谢分享
作者: 亿万    时间: 2024-3-22 20:52
感谢分享,很给力!~
作者: 查过    时间: 2024-3-23 07:59
下个学习一下
作者: 豆豆灰常开心    时间: 2024-3-23 08:04
感谢发布原创作品,精易因你更精彩!6666666666666
作者: 曦月    时间: 2024-3-23 12:47
论坛有你更精彩
作者: jcos    时间: 2024-3-23 13:18
为你加油!!!!!!
 ☆  * .   ☆
  . ∧_∧ ∩ * ☆
*  ☆ ( ・∀・)/ .
 .  ⊂   ノ* ☆
☆ * (つ ノ  .☆
   (ノ
作者: 光影魔术    时间: 2024-3-24 00:27
感谢分享
作者: 1185384801    时间: 2024-3-24 17:03
有没有一种可能,易语言本身就支持在Dll中公开类,甚至还在易语言的官方示例里面。


作者: 胖子葛格    时间: 2024-3-24 18:25
感谢大神分享!
作者: bianyuan456    时间: 2024-3-24 23:48
已经顶贴,感谢您对论坛的支持!
作者: 396384183    时间: 2024-3-25 09:17
支持大佬
作者: lm88818    时间: 2024-3-27 09:21
感谢分享,很给力!~
作者: 小磊88    时间: 2024-3-27 10:11
牛皮,支持,谢谢分享。
作者: sostemp    时间: 2024-3-27 15:53
感谢分享,很给力!~
作者: cdzch    时间: 2024-4-5 12:31

牛皮,支持,谢谢分享。
作者: yiyi111122    时间: 2024-4-6 17:20
谢谢分享
作者: tpwlyz    时间: 2024-4-8 18:04

作者: weitu520    时间: 2024-5-10 11:18
正在编译...
错误(10063): 被取地址的子程序“dll测试子程序”的参数 1 必须是基本数据类型,且不能为字节集。请问一下怎么编译出DLL
作者: 小白子    时间: 2024-5-10 11:47
weitu520 发表于 2024-5-10 11:18
正在编译...
错误(10063): 被取地址的子程序“dll测试子程序”的参数 1 必须是基本数据类型,且不能为字节 ...

字节集用指针和长度来传递
作者: 1079112666    时间: 2024-5-26 02:42
111111111111111111111111
作者: 1079112666    时间: 2024-5-26 02:42
1111111111111111
作者: 515667395    时间: 2024-6-23 23:34
多谢分享
作者: xueyangkk    时间: 2025-3-7 15:07
字节集用指针和长度来传递




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4