动态调用库函数支持库 (1.1#0版)
上一篇 /
下一篇 2007-04-10 20:27:45
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
一、动态调用DLL
就是用LoadLibrary、GetProcAddress和FreeLibrary,没什么新鲜的
比较有创意的是用一个命令就可调各种不同的API,支持_stdcall(WINAPI)和__cdecl(C方式)调用方式(可以调用一些用C语言编写的DLL了)
自定义类型数据不能直接代入参数,要用字节集类型代替。除非自定义数型的成员都为整数型或4字节的类型(和易语言数据对齐字节数有关)。
二、调用COM对象
用另一种全新思路重新进行调用,支持参数的空、传址,取回错误信息、自动生成源码
例子演示对精灵助手的调用
三、调用IUNKNOWN接口
例子演示了快捷方式的创建和查询操作,结束了易语言调用IUNKNOWN接口对象比较烦琐的历史,可以使用很多功能,当然还要对这类接口有一定的了解才行
1.1#0版更新:
1、修改_cdecl调用方式的BUG,和枚举常量缺少和错误(如果你已经生成过源码,须重新生成,因为枚举常量顺序变了)
2、“未知接口”增加创建、取接口和是否为空的方法。用于方便创建和调用IUnknown接口
1.0#2版更新:
1、修改调用一些COM对象出错的问题(不是IDISPATCH接口)
2、增加错误陷井,调用COM对象更稳定
3、修改自动产生源码时IUNKNOWN类型不对,但仍有少数参数类型出错,以易语言本身的查看()为准
4、增加了精灵例子的内容,示范用枚举接口枚举所有动作名称,和用易语言伪造SINK事件接收器,接收所有精灵的事件,现在可以使用精灵全部功能了,甚至比原来编的精灵支持库更强,看看我怎么用这个支持库和易语言能人之所不能。
还是菜鸟太多,不了解这个支持库的代势,只看到第一个动态调用的,第一个功能实际上是后面调用接口而准备的。别看这个支持库的命令少,越接近低层的东东,编写的就越灵活,更能编出强大的功能,几乎所有继承IUNKNOWN接口的,都可以调用了,VB都做不到这点,当然查看相应的H文件才能确定方法序号和参数,这要有VC的基础
后记:本来说过不再编写支持库,不过看到新版易语言不是那么回事。不能调用API,不能自定义API用到的数据结构,功能扩展完全要依靠类库,所以突发奇想,或许到时可以用这种动态调用的方式来解决,就难免心痒痒,忍不住要动手验证一下

收藏
分享给好友
管理
举报
TAG: