易语言中DLL命令的开发与使用介绍

一.关于易语言DLL

从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准DLL的调用方法相同。易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用程序一起发行,而独立编译exe时无需将DLL文件随应用程序一起发行。

二.新建易语言DLL程序

新建一个易语言程序,然后选择 Windows动态链接库 图标,易语言就会自动创建

出编写DLL动态链接库的代码区(程序集),如下图所示:

创建完毕就可以在代码区里编写DLL程序。

三.如何生成动态连接库(DLL)

易语言中的DLL编写方法和易模块的编写方法类似,都需要有对外的公开接口。下面将通过编写一个“自创信息框”来看一下用易语言如何编写和调用DLL。

编写DLL时的公开接口只能由以下方式生成,新建一个子程序,然后把“公开”选中,在DLL中任何程序集中选中“公开”的子程序都作为对外接口,如下图所示:

修改一下子程序名称,叫“自创信息框”,然后创建2个参数“标题”和“内容”,都定义成整数型,如下图所示:

注意:目前DLL接口函数中的参数只能为以下9种之一:

  • 字节型、短整数型、整数型、长整数型、小数型、双精度小数型、逻辑型、日期时间型、子程序指针型

定义好DLL参数后,我们可以创建新窗体作为信息框窗口,在新窗体上画一个按钮,一个标签,如下图所示:

为了让用户按下确定按钮后,窗口能关闭,可以双击确定按钮,创建按钮“被单击”的触发事件,写入如下代码:

然后返回到刚才的程序集1代码区开始编写代码。

由于2个参数都定义成了整数型,而调用的时候传递过来的标题和内容一定是文本型的,那么怎样去取得里面内容呢?别急,易语言3.6版中考虑到了这个问题,所以新增加了3个命令:“指针到文本”、“指针到字节集”、“写到内存”。

当用户传递的是文本型或者字节集型,易语言将自动转换成指针,我们可以使用“指针到文本”或“指针到字节集”把原来的文本返回出来。如下图所示:

到此已经完成“自创信息框DLL”所有工作,最后可以选择菜单“编译”→“编译”将其编译为DLL。如下图所示:

也可以使用快捷键“F7”编译刚刚编写的DLL,我们将编译以后的DLL名称命名为“自创信息框”,如下图所示:

通过以上,用易语言编写DLL的过程序基本完成。

四.如何使用DLL

用易语言编写的DLL可以在易语言自身调用,同样,也可以在其他编程语言中调用,如(VB,VC,Delphi等)

在易语言中的调用方法如下图所示:

注意:定义时,2个参数都定义成文本型

最后请在窗体上画一个按钮,双击按钮,写上代码调用这个DLL,按下按钮后,就会看到效果,如下图所示:

VB中调用方法如图:

注意事项:

  • 注1:调用DLL时的Dll对应命令名必须和接口名称完全一样。
  • 注2:接口函数的参数必须是基本数据类型,且不能为字节集型、文本型。
  • 注3:易语言3.6版中新增加3个命令“指针到文本”、“指针到字节集”、“写到内存”,这3个命令最佳使用场合就是在易语言回调子程序和易语言DLL公开子程序用作获取外部数据。
  • 注4:易语言编写的DLL如果要在其他编程语言中使用,必须附带对应的易语言支持库。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • C++ 编写DLL文件给易语言调用方法

    摸索了两天了,终于解决了所有问题,在此跟大家分享. 需要三个文件,dll_demo.h.dll_demo.cpp.dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #define DLL_DEMO extern "C" __declspec(dllexport) #else #define DLL_DEMO extern "C" __

  • 易语言编写调用dll文件方法总结

    易语言编写dll文件,在新建中选择 编写动态链接库 然后我们看到的就是这样的 这里要注意的是,可以直接在启动子程序下些命令,勾选公开,一样可以调用.但是程序会运行两遍. 方法,忽略上面默认代码,直接新建子程序,子程序名自定,需要返回值的填写返回值类型,一定要勾选公开 可以提供参数和变量. 然后静态编译 OK.这样就编写了一个dll. 调用dll,假设我们编写的dll名字为123.dll 调用的时候,插入一个新的dll,"DLL命令名"自定义,无所谓什么."库文件名"

  • 详解易语言DLL以及API函数

    易语言 DLL 详细解释 使用易语言多媒体教程中的例子. .版本 2 //DLL文件 ,需要插入一个窗体.标签.按钮 .程序集 窗口程序集1 .子程序 _按钮1_被单击 窗口1.销毁 () .子程序 自创信息框, , 公开 .参数 标题, 文本型 .参数 内容, 文本型 载入 (窗口1, , 假) // 载入(),必须放在前面,放在后两句的后面则提示窗口无法载入 窗口1.标题 = 标题 窗口1.标签1.标题 = 内容 //编译为自创信息框.dll //当你想调用前面的dll时,必须先插入dll命

  • 一步一步跟我学易语言之DLL命令

    Dll命令 我们来学习一下有关"dll命令"的一些相关知识吧.那么什么叫"dll"呢?要解释什么叫"dll",我们先从"API"说起吧. 什么叫"API"? 所谓API就是一种函数,他们包含在一个附加名为DLL的动态链接库文件中.用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出运行在Windows操作系统上的应用

  • 总结VC与易语言DLL互相调用的方法

    在编写程序的时候往往需要调用到别的语言编写的DLL文件,下面先来看一下在易语言中如何调用VC编写的DLL呢,首先用VC编写一个简单的DLL文件,代码如下: int WINAPI add(int x,int y) { return x+y; } 这是一个简单的两个数加法操作,返回两个数相加的结果,这里我生成的是MFC DLL,并且需要在def中导出add函数. 下面用易语言来调用它,首先在易语言中需要插入一个DLL命令,代码如下: .版本 2 .DLL命令 调用CDLL, 整数型, "cdll.d

  • 易语言dll文件传递字节集参数解析

    DLL文件是不允许参数为字节集,为了能够传递字节集数据 解决办法是利用指针进行一步转换,传递指针,然后转换为字节集. 用到命令为三个. 一个是 取变量数据地址 () 一个是 取字节集长度() 一个是 指针到字节集(,) 应用 .局部变量 指针, 整数型 .局部变量 size, 整数型 .局部变量 字节集, 字节集 '注释:先吧字节集转化为指针 字节集 = 读入文件 ("1.exe") 指针 = 取变量数据地址 (字节集) size = 取字节集长度 (字节集) '注释:然后把指针转换成

  • 易语言中DLL命令的开发与使用介绍

    一.关于易语言DLL 从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准DLL的调用方法相同.易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用程序一起发行,而独立编译exe时无需将DLL文件随应用程序一起发行. 二.新建易语言DLL程序 新建一个易语言程序,然后选择 Windows动态链接库 图标,易语言就会自动创建 出编写DLL动态链接库的代码区(程序集),如下图所示: 创建完毕就可以在代码区里编写DLL程序.

  • 关于易语言中“如果”命令详解

    本命令根据提供的逻辑参数的值,来决定是否改变程序的执行位置,如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到左侧箭头线指向的命令处去执行. 语法: 无返回值 如果 (条件) 参数名 描 述 条件 必需的: 逻辑型.本条件值的结果决定下一步程序执行位置. 说明: 如果命令的条件参数必须为逻辑型,可以为一个或多个逻辑型条件语句组成,多个逻辑型条件语句之间可以用"或"或者"且"连接, 如果符合如果编辑框.内容 = "你好易语言"的条件,就执行

  • 易语言中“取错误码”命令详解

    如果执行某数据库命令失败,在其后执行本命令可以取回非 0 的数据库错误码值.如果该数据库命令执行成功,执行本命令将返回 0 . 语法: 整数型 取错误码 () 例程: 说明: 首先把要操作的数据库打开,然后执行"写()"命令,程序将改写"改写字段编辑框"中输入的字段,改写内容为"改写内容编辑框"中的内容.如果改写成功,会弹出信息框显示"写入数据成功":如果改写失败,会弹出信息框提示失败,将本次操作的错误码和错误信息取出,并显示

  • 易语言中“如果真”命令的实例分享

    本命令根据提供的逻辑参数的值,来决定是否改变程序的执行位置,如果提供的逻辑参数值为真,程序继续顺序向下执行,否则跳转到左侧箭头线指向的命令处去执行.同"如果"命令相比,本命令没有为假时的程序部分. 语法: 无返回值 如果真 (条件) 参数名 描 述 条件 必需的: 逻辑型.本条件值的结果决定下一步程序执行位置. 例程 说明: 如果真命令和如果命令相似,如果真的条件也必须是逻辑型,可以用"或者""并且"连接多个条件. 此段语句运行时,如果编辑框中的

  • 易语言的Dll命令及程序集知识点

    在易应用程序中可以直接调用系统外部动态连接库(即 Dll 库)中的命令.在调用前,必须首先进行定义,定义Dll 命令涉及到以下主要属性: Dll 命令名.定义该 Dll 命令在易程序中的使用名称: 返回值类型.定义 Dll 命令返回值的数据类型,只能为无.字节.短整数.整数.逻辑及文本型: Dll 库文件名. 定义当前 Dll 命令所在动态连接库的文件名.如果不指定库文件名,系统将默认在 Kernel32.dll.Gdi32.dll.User32.dll.Mpr.dll.Advapi32.dll

  • 易语言中Com对象的简单调用方法

    在说明com对象在易语言中的使用之前,让我们先来了解一下几个问题 什么是com? com全称是组件对象模型(compoment object model),他是一组规范,是MicroSoft创建的一组二进制和网络标准,用于解决两个组件之间的通信. 什么是com对象 com是面向对象的软件模型,com对象的概念有点类似于C++中对象的概念.在com规范中,没有com对象的严格定义,com组件提供给客户的是以对象形式封装起来的实体,客户与组件交互的实体是com对象. com对象有自己的属性和方法,但

  • 易语言中Com对象和Office之间的交互使用方法

    Com对象和office之间的交互使用 在所有属于office支持库的控件中都可以调用com对象来完善功能,那在这些控件中如何调用com对象呢? 首先新建"易语言"我们以word支持库为例,在窗体上放入word程序集和word文档集 我们写入如下代码,把两个组件联系起来 这时,我们查看word文档集的命令中有"取某某对象"的命令,这些命令的返回值就是一个对象,使用这些命令的时候必须先创建一个对象类型的变量来保存这些命令的返回值. 这时一个对象就产生了,我们可以用对象

  • 易语言中Packcom的使用方法

    一.关于packcom Packcom是易语言用来创建类型库和OCX组件与系统的连接文件的工具,通过这个工具我们就可以在易语言中使用系统中的类型库和OCX组件了. 二.Packcom的界面详解 先让我们来了解一下packcom的界面以及各部分组件的作用. 首先我们通过下面这个菜单来运行packcom. 运行之后我们就可以看到如下界面.图中箭头所示的就是每个按钮的作用. 三.如何注册类型库及OCX组件 如果系统中没有我们需要的OCX组件,我们可以通过单击"注册组件" 按钮选择我们自己的O

  • 对C语言中sizeof细节的三点分析介绍

    1.sizeof是运算符,跟加减乘除的性质其实是一样的,在编译的时候进行执行,而不是在运行时才执行.那么如果编程中验证这一点呢?ps:这是前两天朋友淘宝面试的一道题,小编理解: 复制代码 代码如下: #include<iostream> using namespace std; int main() {     int i=1;     cout<<i<<endl;     sizeof(++i);     cout<<i<<endl;    

随机推荐