php 易语言dll怎么用,易语言中DLL命令的开发与使用介绍

一.关于易语言DLL

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

二.新建易语言DLL程序

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

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

dc9bae09a9b40b6191f11f9a86afe82a.png

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

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

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

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

159d9a73bb94148a167c83ecd0ee6886.png

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

9b6638662325d09fc6f2636e3164d73c.png

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

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

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

bd987404ec63ab7c1015aa94c558b766.png

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

d2c6c4ba773504801b9f705191056e41.png

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

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

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

44695b87a96148ab892e7010e6071786.png

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

31bb010ca07474e23fed38ea1861121c.png

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

3cadcbc9f2c0e972bd08382135bd3ccd.png

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

四.如何使用DLL

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

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

1b05dcf3257f61112e8336e848694648.png

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

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

4877fa85c57047c5271d14738914c4d2.png

VB中调用方法如图:

efe51e2b002e383c6dfea7e01deb91ec.png

注意事项:

注1:调用DLL时的Dll对应命令名必须和接口名称完全一样。

注2:接口函数的参数必须是基本数据类型,且不能为字节集型、文本型。

注3:易语言3.6版中新增加3个命令“指针到文本”、“指针到字节集”、“写到内存”,这3个命令最佳使用场合就是在易语言回调子程序和易语言DLL公开子程序用作获取外部数据。

注4:易语言编写的DLL如果要在其他编程语言中使用,必须附带对应的易语言支持库。

总结

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

使用说明 作者:御风 时间:2018年3月28日 1.目录说明 Com COM代码 PHP PHP代码 Plugin 插件例子 Tool 辅助工具 2.使用步骤 1.打开 .\Tool\开启ComDotNet\开启ComDotNet.exe 将php.exe所在目录填入编辑框,然后点击开启按钮,将开启PHPphp_com_dotnet 如果需要关闭则点击关闭按钮 2.运行 .\COM\注册组件.bat 注册COM组件 如果需要卸载则运行 .\COM\卸载组件.bat 3.到php.exe所在目录下的ext目录,新建dll目录,将插件复制到dll目录 如:php.exe路径为 D:\PHPTutorial\php\php-5.4.45\php.exe 则:插件复制到 D:\PHPTutorial\php\php-5.4.45\ext\dll\ 目录下 注意:插件参数均为文本型,返回数据类型也为文本型 4.复制PHP目录的代码到PHP网站目录下 据需求进行修改 3.关于COM组件 1.如果需要二次开发,需要修改源码的常量: IID_ActiveX、IID_ActiveXLib、CLSID_ActiveXCOM、组件名称、组件说明 2.如果需要修改COM函数,比如增加call_xxx之类的方法,请先修改“YF_PHP_COM_ActiveX.idl”文件,其的语法请参照注释和下文说明 修改完成后,执行“IDL生成TLB.bat”或“IDL生成TLB_8.1.bat”生成“YF_PHP_COM_ActiveX.tlb”(这一步需要安装VisualStudio,我的是2015) 生成完成后才能进行易语言源码的修改 3.如果只是需要增加简单的功能,可以在源码“函数实现”程序集修改 4.易语言源码需要使用黑月编译 5.编译生成“YF_PHP_COM_ActiveX.ocx”,执行“注册组件.bat”进行COM注册,卸载请执行“卸载组件.bat” 如果先前已经注册过组件,易语言源码编译生成后可以直接覆盖,无需重复注册,移动组件路径时需要重新注册 6.PHP调用时,需要开启“php_com_dotnet”扩展,并确保PHP的“ext”目录下有“php_com_dotnet.dll”这个文件 7.易语言ActiveX源码改造自“为你芯冻”的易语言写COM(http://bbs.eyuyan.com/read.php?tid=317113) 4.其他说明 1.tlb与dll文件区别 1.tlb文件:com类型库文件,它包含接口相关信息.在需要使用对应com类的模块里,通过"#import xxx.tlb"来调用 2.dll:动态连接库,它包含二进制代码,资源...,VC可以把tlb作为资源编译到dll 3.在VC下#import "A.tlb" no_namespace;编译后产生A.tlh和A.tli两个文件,不生成namespace,如果没有no_namespace,则生成的内容都在namespace A.如果dll含有tlb资源,则也可以使用#import "xxx.dll"来生成tlh和tli文件.一般的c++ dll不能使用#import "xxx.dll" 4.tlh,tli文件:是vc++编译器解析tlb文件生成的标准c++文件.因为tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用.tlh相当于类型申明(头文件),tli相当于定义实现(CPP文件,inline) 2.生成COM dll的tlb文件的两种方法 1.开始运行oleview调出OLE/COM Object Viewer 这个工具是微软提供的,在VC6和Windows SDK都有 找到要用的COM组件,比如说VBSrcirpt的正则表达式COM组件在: Type Libaray的Microsoft VBScript Regular Expression V5.5,双击打开后,保存成idl文件 然后用微软提供的另一个工具从idl生成tlb文件: 开始运行cmd,调出命令行.使用命令midl xxx.idl来成成tlb文件即可 然后在VC++的工程引用可以使用: #import "xxx.tlb" rename_namespace("xxx") 2.直接使用VC6或者Visual Studio打开dll文件,注意在打开文件对话框一定要选择Resource方式,VC6默认是auto 找到资源的TypeLib,其的文件可以Export成bin,这个bin就是tlb,保存的时候使用将扩展名指定为tlb即可 使用Visual Studio的Object Viewer可以直接对这个文件进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值