国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

VB中OLE調用的優化方法

2019-11-18 17:31:18
字體:
來源:轉載
供稿:網友
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服務器)慢得多。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 罗平县| 岳池县| 临沧市| 邹平县| 万源市| 柳河县| 鄱阳县| 衡阳市| 平原县| 台北市| 秭归县| 海阳市| 桃源县| 犍为县| 德庆县| 阳新县| 伊宁市| 花莲县| 滕州市| 罗江县| 新建县| 寻甸| 大埔县| 深水埗区| 宜阳县| 屏东县| 游戏| 东宁县| 息烽县| 北海市| 长垣县| 长沙市| 平阳县| 诸城市| 汉源县| 麻栗坡县| 沈阳市| 磐石市| 泰宁县| 象山县|