易语言WEB开发教程6 模块化开发- 全局函数
可以将扩展库中的函数扩展到支持库 便于管理
相关代码如下
.版本 2
.程序集 导出程序集
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
' 信息框 (“工具函数”, 0, , )
' 子程序1 ()
_临时子程序 () ' 在初始化代码执行完毕后调用测试代码
返回 (0) ' 返回值被忽略。
.子程序 _临时子程序
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
生成全局函数定义LibInit (1, “工具函数”, “MoudleTool.dll”, “20190829”)
.子程序 LibInit, , 公开
.参数 功能指针
.参数 运行模式
.局部变量 类别, 整数型
注册易库 (功能指针,运行模式,"MoudleTool.dll","20190829")
类别 = 1
置类别名 (类别, "工具函数", 0,)
置库命令 (0,&生成全局函数定义LibInit,"生成全局函数定义LibInit","复制IDE程序集 执行本函数 生成DLL导出函数LibInit代码",4,生成参数 ("类别序号,整数型,序号从1到20 每类别25个函数 超出部分占用下个类别地址 函数序号为1-500*类别名称,文本型,类别名称*Dll文件名,文本型,编译后的DLL文件名如 Moudel.dll*本库版本,文本型,库版本20190829*"))
置库命令 (0,&生成库数据类型定义LibInit,"生成库数据类型定义LibInit","复制IDE程序集 执行本函数 生成DLL导出函数LibInit代码",4,生成参数 ("类别序号,整数型,序号从1到20 每个数据类型25个函数 超出部分占用下个数据类型地址 函数序号为501-1000*数据类型名称,文本型,数据类型名称*Dll文件名,文本型,编译后的DLL文件名如 Moudel.dll*本库版本,文本型,库版本20190829*"))
置库命令 (0,&生成库结构体定义LibInit,"生成库结构体定义LibInit","复制IDE结构体定义 执行本函数 生成DLL导出函数LibInit代码 最多支持定义100个结构体",2,生成参数 ("Dll文件名,文本型,编译后的DLL文件名如 Moudel.dll*本库版本,文本型,库版本20190829*"))
.子程序 生成全局函数定义LibInit, , , 复制IDE程序集 执行本函数 生成DLL导出函数LibInit代码
.参数 类别序号, 整数型, , 序号从1到20 每类别25个函数 超出部分占用下个类别地址 函数序号为1-500
.参数 类别名称, 文本型, , 类别名称
.参数 Dll文件名, 文本型, , 编译后的DLL文件名如 Moudel.dll
.参数 本库版本, 文本型, , 库版本20190829
生成LibInit代码 (类别序号, 类别名称, 0, Dll文件名, 本库版本)
.子程序 生成库数据类型定义LibInit, , , 复制IDE程序集 执行本函数 生成DLL导出函数LibInit代码
.参数 类别序号, 整数型, , 序号从1到20 每个数据类型25个函数 超出部分占用下个数据类型地址 函数序号为501-1000
.参数 数据类型名称, 文本型, , 数据类型名称
.参数 Dll文件名, 文本型, , 编译后的DLL文件名如 Moudel.dll
.参数 本库版本, 文本型, , 库版本20190829
生成LibInit代码 (类别序号, 数据类型名称, 1, Dll文件名, 本库版本)
.子程序 生成库结构体定义LibInit, , , 复制IDE结构体定义 执行本函数 生成DLL导出函数LibInit代码 最多支持定义100个结构体
.参数 Dll文件名, 文本型, , 编译后的DLL文件名如 Moudel.dll
.参数 本库版本, 文本型, , 库版本20190829
生成LibInit代码 (1, “”, 2, Dll文件名, 本库版本)
编译上面代码后运行易语言 会扩展了一个全局类别 和定义的相关函数