⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 125.txt

📁 介绍VB里的各种控件的使用方法,窗口控制,图像编程以及OCX等内容,还提供了一个API集供参考.
💻 TXT
字号:
优化OLE的调用频率

?在VB5.0中,OLE调用功能大大增强,程序员的调用次数也自然地随之增加,显然,
优化OLE的调用对提高系统效率
有着不可低估的意义。下面提供三则优化OLE调用技巧供参考。

?1.预先定义专用对象,减少OLE调用次数,提高程序效率
在VB中进行OLE功能调用时,一般需要重复使用“对象、属性”这类语句,有时连
接对象很多,语句较长。比如,
要想获得某个数据库中数据表字段名称的OLE功能调用语句可能这样:
DBEngine,Workspaces(0).DataBases(0).RecordSet.Fields(0).Name
上面语句中的每个点(.)都需要进行一次OLE功能调用。如果我们想列出所有的字段
名称,一般情况下程序如下:
ForI%=0ToDBEngine.WorkSpaces(0).Database.RecordSet.Fields.Count-1
PrintDBEngine.WorkSpaces(0).Database.RecordSet.Fields(I%).Name
Next
上面这段程序用循环的方式将所有字段名称列出来,每一个循环需要有10次OLE调
用(10个点),假设有10个字段,
则完成这个循环需要进行100次OLE调用。从上面的程序中我们可以看到OLE调用语
句的前面部分对象都是一样的,
我们可以考虑将其预先定义好,这样就可以减少OLE调用次数,提高效率,将程序
改写如下:
DimDBAsDatabase
DimSAsFields
DimFAsField
SetDB=DBEngine.Workspaces(0).OpenDatabase("biblio.mdb")
SetX=DBEngine.Workspaces(0).Databases(0).TableDefs(0).Fields
ForEachFInX
PrintF.Name
Next
改写后的程序在完成定义对象时使用6次OLE调用,循环过程需要10次(10×1),完
成整个任务只需要16次,
和上面的程序比起来效率大大提高了。
 
?2.利用WITH语句来减少OLE调用次数
比如,我们通过OLE功能定义某个字段的属性语句可能这样:
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Name="Book"
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Required=True
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Size=20
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Type=db Text
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Value="MSDOS"
上面的语句运行效率不高,且书写繁琐,利用WITH语句改写如下:
WithDBEngine.WorkSpaces(0)
.Database.RecordSet.Fields(0)
.Name="BOOK"
.Required=True
.Size=20
.Type=dbText
.Value="MSDOS"
EndWith
改写后的程序书写简单、效率也高(OLE调用次数少)。
 
3.利用服务方程序的宏来减少OLE功能调用次数
如果要从VB中通过OLE调用WORD中的某些功能来完成某项任务,首先在WORD中将所
要使用的功能用记录宏
的方式记录成一个宏(根据实际情况可修改记录后的宏代码),然后再用VB的OLE功
能调用WORD来执行这个宏,
这样可避免反复用VB的OLE功能调用WO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -