网站首页 > 易语言相关 > 易语言例程 正文
本次模版需要使用黑月编译资源
也就是说动态库要用黑月编译
不想用黑月的请自行方便
嗯,本人非美化出身,图标丑了谅解下
本模版采用支持库第二版
何为第二版?(详细请见 e\sdk\cpp\docs.txt)
易支持库有两个版本的开发包:2003.5 和 2008.5
两个版本的支持库截然不同
连支持库入口函数都不一样(即模版中的 GetNewInf)
模版里我也不打算兼容两种支持库版本了
毕竟没多大意义
因为各位易友几乎都用的是 5.x 版本
当然,也可以认为我懒
更新内容只声明与支持库相关的更新
当前版本:2014.11.28
更新内容:
[+]更新FNE转LIB工具(V1.0)
★主要为本次模版更新而更新
[!]删除对组件英文名称的修改
★源:如果【静态库模式=#静态库模式_WonderWall】, 那么英文名会加上 @4
★现:不对组件英文名做任何修改
★ *这些星星后的内容可以看看, 也可以跳过, 我只是做了下更新的解释
★ 本来完成这些模版就可以不用更新了的
★ 谁知发现犯了错?一个人敲代码真麻烦
★ 今天刚好周五, 我又翻了翻支持库
★ 然后发现无法静态链接, 看了看易语言的调试信息
★ 才知道易语言静态链接时会自动给窗口单元函数加上 @4
★ 现在删掉了那条代码
历史版本:2014.11.22
更新内容:
[+]支持编写组件(详细请见本人写的例子)
★其实这次的更新就是为了组件而更新的
[+]增加程序集:集_组件, 主要用于辅Zhu组件的编写
[+]增加 备选文本_生成_备选数值信息()
[+]增加 备选文本_生成_备选文本信息()
[+]增加 备选文本_生成_文件名()
[+]增加 组件_保存_组件基本信息_创建时()
[+]增加 组件_保存组件信息()
[+]增加 组件_取结构_hUnit()
[+]增加 组件_取结构_hWnd()
[+]增加 组件_创建_功能组件()
[+]增加 组件_创建_容器组件()
[+]增加 组件_窗口过程_透明容器()
[+]增加 组件_消息欲处理_功能性窗口()
[+]增加 组件_消息欲处理_容器性窗口()
[+]增加 组件_取单元信息()
[+]增加 组件_消息转发_容器窗口()
[+]在 类_写易库 上做了某些更改
[+]增加 添加组件() 方法
[+]增加 添加组件属性() 方法
[+]增加 添加事件() 方法
[+]增加 添加事件参数() 方法
[!]修改 添加参数() -> 添加命令参数()
[+]在 类_易功能 上做了某些更改
[+]增加 创建CWnd指针() 方法
[+]增加 取hUnit() 方法
[+]增加 产生事件() 方法
[+]增加 组件删除() 方法
[+]在 类_信息储存 上做了某些更改
[+]增加 添加属性() 方法
[+]增加 取属性数量() 方法
[+]增加 拷贝属性() 方法
[+]增加 添加事件() 方法
[+]增加 取事件数量() 方法
[+]增加 拷贝事件() 方法
[+]增加 添加事件参数() 方法
[+]增加 取事件参数数量() 方法
[+]增加 拷贝事件参数() 方法
[+]增加 类_属性 共6个方法
[+]在 集_结构创建 上做了某些更改
[+]增加 new组件信息() 方法
[+]增加 new组件属性信息() 方法
[+]增加 new单元信息() 方法
[+]增加 new组件事件信息() 方法
[+]增加 new组件事件参数信息() 方法
[+]在 集_功能 上做了某些更改
[+]增加 计算指针() 方法
[+]增加 IsXXX() 方法
[+]在 集_模版 上做了某些更改
[+]增加 默认处理_窗口单元接口函数() 方法
[+]增加 组件_保存_xxx() 模版函数
[+]增加 组件_释放_xxx() 模版函数
[+]增加 #结构尺寸_xxx 常量 5 个
[+]增加 #组件属性类型_xxx 常量 21 个
[+]增加 #组件属性属性_xxx 常量 5 个
[x]压缩包内不包含静态库转换工具
★因为静态库转换工具没做任何更新
★所以就不一起带着了
★如果你真的需要
★请到论坛找我的帖子
历史版本:2014.11.15
更新内容:
[+]支持编写静态库(至于步骤请往下看)
[+]增加静态库转换工具, 在随本模版的压缩包内(源码)
[+]增加 类_写易库.设置_静态库模式() 方法, 用于指定静态库的导出函数名
[-]对 类_写易库.添加命令() 做了改动,主要修改链接名
[-]修复易语言无法读取链接名的BUG
========== 1.易支持库机制 ==========
易支持库的库信息、命令信息等等均使用某个结构储存
易源码中的自定义数据类型、类模块、组件即为支持库中的库定义数据类型
易语言通过 GetNewInf() 获取支持库信息
所以支持库必须导出这个函数
========== 2.支持库命令调用 ==========
支持库的命令调用方式也比较特殊
每个命令需要三个参数:返回值指针,参数数目,参数信息指针
做个一个库定义数据类型的方法, 每个方法的第一个参数为指向该对象的结构指针
作为一个组件的方法, 每个方法的第一个参数为该组件的单元信息
在模版里我也举了例子
========== 3.简单说下易源码 ==========
易保存源码时没有保存各信息名称(比如命令名、数据类型名),而是保存了索引
所以支持库内的各信息有必要时可以修改
但不要改动TA们的顺序,这会导致前期版本的源码出现问题
========== 4.模版说明 ==========
本模版整天来说思路清晰,代码连小白都能理解
模版多数的参数使用通用型,使得模版简便
模版内没有多说废话, 直接把关键的过了一遍, 足够写支持库了
每条命令都演示了支持库的各种操作,能想到的都先写了
趁着到了周末, 把组件的开发也模块化了
例子也写好了, 自己看看吧
========== 5.关于静态库 ==========
静态库的编译本人提供了两种方式,不过两种方式都必须要符合下面的要求
必须导出(易语言里打上公开属性)库信息通知函数, 函数名必须符合 libName_ProcessNotifyLib 的规则
必须导出所有命令实现函数,函数名必须符合 libName_xxx 的规则
必须导出所有窗口单元信息函数,函数名必须符合 libName_GetInterface_控件英文名。2014.11.13这个版本的模版包括前面的暂时木有组件,所以不会有这个函数
第一种方法(#静态库模式_SalHe)
将支持库编译
此时还不能做为静态库发布
使用本人写的工具 FNE转LIB 将编译后的支持库转换
转换之后的文件即可作为静态库发布了
工具的使用方法详见工具的自我介绍
第二种方法(#静态库模式_WonderWall)
下载一个易语言支持库(插件):WonderWall
易语言勾上这个支持库之后并开启静态库编译功能(易语言菜单 -> 工具 -> WonderWall)
易语言菜单 -> 编译 -> 静态库编译, 即可
至于我写的那个工具也放得有源码, 所以要知道原理的话可以看看源码
那么WonderWall编译静态库为什么要另外弄个模式呢?请转到 类_写易库.添加命令() 查看, 看的更清楚
========== 6.为何选择支持库 ==========
其实用模块扩展程序也是足够了
选择做支持库还是安全的
而且支持库有许多模块做不到的功能
========== 7.关于易功能函数 ==========
顾名思义, 就是易内部提供给支持库的函数
主要的用法呢还是得参考 lib2.h(位于 e\sdk\cpp\elib\lib.h)
虽说是一个C++头文件,但是语文好点、懂易语言就能理解
小学生的语文水平就差不多啦
我还是把一些常用的写到了 类_易功能 这个类里面
各位同学可以看看、、
========== 8.如何提取空白模版 ==========
程序集【启动】不包含模版函数
程序集【_库实现_xxx】不包含模版函数
全局变量无模版所需任何变量
自定义数据类型已做分割
DLL命令已做分割
常量表已做分割
如果你需要一个空支持库模版
你只要保留 GetNewInf、test_ProcessNotifyLib、Dll入口函数
以及保留模版所需函数、全局变量、自定义数据类型、DLL命令、常量表
这样模版就只剩下主要部分了
@SalHe
- 上一篇: 易语言修改EXE源码
- 下一篇: 易语言音乐播放器源码
猜你喜欢
- 2025-01-04 hook抓取电脑和安卓交互的TCP请求,Tcp-adb源码分享
- 2025-01-03 易语言取文件真实创建时间
- 2025-01-03 易语言实现彩色会闪会抖动的字,而且还在标题栏
- 2024-06-28 通讯录VCF文件生成源码
- 2024-03-16 2024无模块静默取已登录QQ
- 2024-03-16 批量转换PPT为PDF源码
- 2024-03-15 串口相关, 虚拟串口,枚举串口,PCOMM使用
- 2024-03-14 易语言取Unix时间戳源码
- 2024-03-13 易语言源码 安卓 ADB调试桥 真机调试
- 2024-03-11 易语言控件自动缩放源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有1位网友发表了看法:
易语言源码站 评论于 [2019-08-15 22:05:10] 回复
易语言写组件