易语言怎么调用其他语言

易语言怎么调用其他语言,第1张

易语言可以调用其他语言。在使用易语言与其他语言配合编程中,有时需要使用易语言的DLL来返回文本型的值,但是由于易语言本身文本型数据不能直接返回让其他语言使用(直接使用多次会崩溃)所以这里要使用一种转换的方式,是其他语言调用易语言的文本返回参数。使用了内存的 *** 作, 在易语言当中,申请一块足够的内存(例程中为1024字节),然后将要返回的文本写到该内存中,然后DLL返回一个内存指针再在其他语言中读取该指针。调用伪代码:DLL命令 Test1,int adress= Test1();//执行DLL命令,使其返回一个内存指针。所以,易语言可以调用其他语言。

到数值()
调用格式: 〈双精度小数型〉 到数值 (通用型 待转换的文本或数值) - 系统核心支持库->数值转换
英文名称:val
返回包含于文本内的数值,文本中是一个适当类型的数值,支持全角书写方式。本命令也可用作将其他类型的数据转换为双精度小数。本命令为初级命令。
参数<1>的名称为“待转换的文本或数值”,类型为“通用型(all)”。
*** 作系统需求: Windows、Linux

dll命令返回的文本参数是其内存地址
必须用指针到文本来取出文本
C#指针转换文本的方法
使用unsafe关键字来包含不安全代码;
然后更改工程属性,将“生成” -- “允许不安全代码” 一项勾选上。
unsafe
{
string str = "";
for (int i = 0; i < length; i++)
{
str += (p + i);
}
ConsoleWriteLine(str);
}

1
把dll文件保存到资源表中用 写到文件("xxx文件路径",#xx资源名称) 写出去,程序目录可以用 取运行目录() 获取
(代码窗口左边的小窗口可以切换支持库,程序,属性选择程序>资源表>或组,右键新建,双击内容单元格,选择dll)
2
全部改变什么意思变成什么样
建议用以下几个方法实现,具体思路看你具体要实现什么
〈整数型〉 寻找组件 (通用型 父组件,[文本型 名称前缀],[文本型 类型],[整数型 标记最小值],[整数型 标记最大值])
〈通用型〉 取所找到组件 (整数型 组件寻找句柄,整数型 组件索引位置)
〈整数型〉 取找到组件数目 (整数型 组件寻找句柄)
〈文本型〉 取组件名称 (通用型 窗口组件)
〈无返回值〉 清除组件寻找句柄 (整数型 组件寻找句柄)
3
zip写进程序跟dll写进程序一样
建议使用 压缩解压支持库 的 ZIP压缩 控件双击控件自动创建 _ZIP压缩1_压缩进度 事件,很容易实现显示进度
4
进度条随机跳动只要写随机数就可以了,比如,放一个时钟控件,时钟周期为500,双击创建周期事件,编写以下代码:
置随机数种子 ()
进度条1位置 = 取随机数 (进度条1最小位置, 进度条1最大位置)
5
需要实现文件夹读写监控,比较麻烦,建议查找相关教程和例程,或者用其他方式实现

dll制作跟编译模块是一样的,不同的是新建时选择wds动态链接库。
动态链接库的调用和调用系统动态链接库是一样的。点击左侧烂里面的all命令。编程区域会打开个dll命令定义表,在里面右键新建dll命令。dll命令名随便取,dll库文件名就是自己编译的dll文件名,dll库中对应的命令就是你需要调用库中的命令名称。当然还可以继续添加参数

在易语言的左边功能选项找---程序---dl命令--右键---插入新dll命令DLL命令名=你给他的名称(在窗口程序下可直接代码输入)DLL库文件名=你调用那个DLL命名DDL库中的对应名=在被调用的DLL的子程序完了后直接在窗口下输入代码(DLL命令名)打包的时候将DLL放置包下(可减少错误率)

可以置文件属性为隐藏或者写到临时目录,软件关闭的时候自动删除。。
==================================================
答案来源 → 精易论坛,要学习的可百度一下"精易论坛"
精易论坛 → 专业易语言技术交流学习平台


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13375766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存