乐易论坛

 找回密码
 立即注册

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

导航
导航
培训
培训
产品
产品
[解答]易语言值得学习吗?[推荐]易语言面对面实地培训持续招生中2021年JavaScript加密特训
2021年手游模拟器脚本系列课程[2021年]QQ群POST系列课程[2021年]QQ空间POST系列课程
[2021年]QQ邮箱网页POST系列课程火山PC视窗零基础入门系列课程2019年百日JS改写课程(无密下载)
《易语言程序员特训课》第1期Android逆向Jeb动态调试-不为人知的调试技巧外挂制作从0开始到精通
[超强]《易语言软件加密(防破解)技术特训》WxApiEc-专为PCWx开发的API接口模块,让你快速调用内部功能TQApiEc---专为PCQQ/TIM 开发的API接口模块,让你直接调用内部功能
[视频讲解]易语言如何处理误报广告位招租联系QQ1615457736 
查看: 3118|回复: 0

云的OLE驱动支持库 (1.0#0版)

[复制链接]
已绑定手机
已实名认证
发表于 2021-3-23 08:34:31 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
虽然未必是你需要的,但是肯定有用又有趣。
本支持库是封装OCX组件用的。
与官方的NPK封装相比,一可以静态编译,二没有NPK封装OCX组件的底板窗口。
许多年前,老吴说OCX组件必须需要一个CWnd类型的窗口做为底板,才可以收到事件。但是前些天,我突然感悟,易所有的窗口组件都是CWnd类型的,何必再多一个底板窗口?!
于是,我做了这个支持库,不用底板窗口,将OCX组件直接创建在易窗口上。没有了底板窗口,就像不戴套一样,与OCX组件之间少了一层隔膜,多了一份亲密的接触。


一、封装了FLASH组件,才知道多年以前QQ会员专用的魔法表情的透明镂空窗体是怎么做出来的,但是知道得太迟了,当年正火的FLASH组件现在已经被禁用了,如果你能打开例程就可以看到是不是被禁用了,物饰人非。
二、封装IE浏览器组件,所有的按键事件都接上了。还可以挂接指定事件接口,方便用网页做界面的易友,网页就是UNICODE多国语界面的,也是直绘界面,何必他求?!意义和用处自悟,不必多说。
三、封装了丰富文本框RichTextBox组件。TAB键输入,自己用代码补上了。易核心库也卡不住这个键了。
四、封装了MSWinsock组件。是比易的服务器、客户和数据报组件好用一些。
五、封装了ADODB对象。测试可以正常调用。


这次把支持库的方法具体用法说明一下,方便易友做二次修改。虽然有自动生成代码的工具,但是生成代码也有不尽如人意的地方。
首先是类型的常量值要知道一下。

调用的参数表里的类型和取置属性的类型常量:
短整数型 = 2
整数型 = 3
小数型 = 4
双精度小数型 = 5
货币型(易语言没有) = 6
日期时间型 = 7
OLE宽文本(易语言没有的UNICODE字符串) = 8
对象 = 9
错误代码(易语言没有) = 10
逻辑型 = 11
变体型 = 12
未知接口(易语言没有) = 13
文本型 = 14
字节型 = 15

这里注意一下,文本类型,在取置属性用8,表示是原型BSTR宽文本。如果是方法调用的参数表里,表示这个参数是文本的,用14,表示传入的ASCII编码的文本,内部会自动转成所需求BSTR

参数是参考(传址)的需要在类型常量值上加64做为参考的标志,比如:

短整数型指针 = 2 +64=66
整数型指针 = 3 +64=67
小数型指针 = 4 +64=68
双精度小数型指针 = 5 +64=69
货币型指针(易语言没有) = 6 +64=70
日期时间型指针 = 7 +64=71
OLE宽文本指针(易语言没有的UNICODE字符串) = 8 +64=72
对象指针 = 9 +64=73
错误代码指针(易语言没有) = 10 +64=74
逻辑型指针 = 11 +64=75
变体型指针 = 12 +64=76
未知接口指针(易语言没有) = 13 +64=77
字节型指针 = 15 +64=79

这里注意一下,文本类型,没有传址的文本类型,14+64,只有BSTR宽文本指针 8+64。

参数是可空的,同理加上128做为标志,可以和参考标志叠加。

做为修改调用参数表里参数说明,参数表(字节集)从第一个字节开始,与参数排序和类型相对应,每个字节表示对应参数的类型(就是以上的表示方法)。最后参数表以{0,0}做为结束。调用方法内部就可以知道有多少个参数传进来。


修改的范例:
这个取粗体,肯定是返回逻辑值,这里却用变体型返回,这里要改一下才好用
124_3528_6016443157a8777.jpg



修改方法参数类型,多是变体型的,这在脚本语言是当通用类型用的
124_3528_ed87aaa3a1a690e.jpg

类型修改后,只要是支持库内部支持转换的,都能正常调用。



YunOleDriver.zip (912.48 KB, 下载次数: 2)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /4 下一条

QQ|网站地图|Archiver|手机版|小黑屋|乐易论坛 ( 湘ICP备19007035号-2 )

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2021-10-17 05:57 , Processed in 0.063487 second(s), 73 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表