打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VB中OLE调用的优化方法
VB5.0中大量使用OLE,对象的正确使用对于开发一个高效的应用程序是非常关键的。因此,笔者想谈一谈OLE调用的优化。

一、利用WITH语句减少重复调用。

为了设置单个对象的多个特性,可以使用WITH END WITH减少激活引用链设置特性的次数,在这种情况下,甚至不需要定义对象类型的临时对象。例如:DBEngine.WorkSpace(0).Databases(0).

RecordSet.Fields(0).Name="jx"

DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Height="1.75"

可以这样赋值:WITH DBEngine.WorkSpace(0).Databases(0)

.RecordSet.Fields(0).Name="jx"

.Height="1.75"

END WITH

很明显,减少了执行赋值所必须做的OLE对象查询的次数。

二、使用可以提供的最特定的对象。

在VB中访问任何对象的模型通常要求重复使用OBJECT.PROPERTY语句,那么这个引用链将变得很长。

DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Name

在上面这个序列中每个点代表VB为了访问下一个元素要求的OLE查找。如果将这样一条语句放到循环中,会产生大量不必要的查找:

例如For I%=0 TO DBEngine.WorkSpace(0).Databases(0).R

ecordSet.Field.Count-1

Print DBEngine.WorkSpace(0).Databases(0).RecordSet.Fi

elds(I%).Name

Next

如果通过使用可用的最特定的对象类型,可以大大减少同一个

循环的开销。程序变换如下:

DIM X AS Fields

DIM Y AS Field

SET X=DBEngine.WorkSpace(0).Databases(0).RecordSet.Fi

elds(0)

FOR EACH Y IN X

Print F.Name

Next

三、最小化跨进程OLE调用。

OLE Automation对程序内的对象的调用总是比跨进程调用要快,如果处理可以在一个程序内完成,就会比调用另一个应用程序快。如果进行跨进程OLE Automation,一个硬输入的(DIM X AS SPECIFICTYPE)而不是“AS OBJECT”的对象会大大减少开销,因为只需一个跨进程调用。

四、使用进程内而不是进程外的OLE服务器。进程外OLE服务器(使用MAKE EXE建立的OLE服务器)比进程内OLE服务器(使用MAKE DLL建立的OLE服务器)慢得多。

(出处:编程街)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB编程中对象浏览器知识讲解
ActiveX基础——什么是ActiveX - .net 空间
VB实用代码,收藏!!
VB编程实例讲解
合集·学好编程基础,了解VB程序设计(1/15)
VB,里的LIXTBOX 如何,引用数据库里的信息
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服