网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.一个用VB5.0实现的鼠标绘图程序.
.VB实现图形动画的三种方法.
.DirectX7.0使用心得(3).
.使用Data控件访问数据库.
.使用VisualBasic访问数据库几个注.
.怎样存取注册表信息.
.复本操作的对象、属性和方法(1)-.
.VB查找并替换WORD文档中的字符串.
.非Access数据库在VB中的编程及应.
.用VB将命令行软件Windows化.
.在VB6.0中实现动态统计报表.
.用VB为软件增加注册功能.
.用VB编写WindowsCGI应用程序.
.VB“变态”用法之高效字串指针类.
.一组VB应用技巧.
.MSOffice开发工具--VBA.
.创建动态图标.
.VB6.0中的几个新增数据库工具.
.更换驱动器的图标.
.无闪烁地快速附加字符串到TextBo.

VB中OLE调用的优化方法

发表日期:2006-2-27


VB5.0中大量使用OLE,对象的正确使用对于开发一个高效的应用程序是非常关键的。因此,笔者想谈一谈OLE调用的优化。
一、利用WITH语句减少重复调用。
为了设置单个对象的多个特性,可以使用WITHENDWITH减少激活引用链设置特性的次数,在这种情况下,甚至不需要定义对象类型的临时对象。例如:DBEngine.WorkSpace(0).Databases(0).
RecordSet.Fields(0).Name="jx"
DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Height="1.75"
可以这样赋值:WITHDBEngine.WorkSpace(0).Databases(0)
.RecordSet.Fields(0).Name="jx"
.Height="1.75"
ENDWITH
很明显,减少了执行赋值所必须做的OLE对象查询的次数。
二、使用可以提供的最特定的对象。
在VB中访问任何对象的模型通常要求重复使用OBJECT.PROPERTY语句,那么这个引用链将变得很长。
DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Name
在上面这个序列中每个点代表VB为了访问下一个元素要求的OLE查找。如果将这样一条语句放到循环中,会产生大量不必要的查找:
例如ForI%=0TODBEngine.WorkSpace(0).Databases(0).R
ecordSet.Field.Count-1
PrintDBEngine.WorkSpace(0).Databases(0).RecordSet.Fi
elds(I%).Name
Next
如果通过使用可用的最特定的对象类型,可以大大减少同一个
循环的开销。程序变换如下:
DIMXASFields
DIMYASField
SETX=DBEngine.WorkSpace(0).Databases(0).RecordSet.Fi
elds(0)
FOREACHYINX
PrintF.Name
Next
三、最小化跨进程OLE调用。
OLEAutomation对程序内的对象的调用总是比跨进程调用要快,如果处理可以在一个程序内完成,就会比调用另一个应用程序快。如果进行跨进程OLEAutomation,一个硬输入的(DIMXASSPECIFICTYPE)而不是“ASOBJECT”的对象会大大减少开销,因为只需一个跨进程调用。
四、使用进程内而不是进程外的OLE服务器。进程外OLE服务器(使用MAKEEXE建立的OLE服务器)比进程内OLE服务器(使用MAKEDLL建立的OLE服务器)慢得多。->

上一篇:VisualBasic移除Form右上方之『X』按钮 人气:3679
下一篇:提高VisualBasic访问数据库效率 人气:3325
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐