VB6 中 善用 ByRef 提升速度 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- VB6 中 善用 ByRef 提升速度 (http://www.webasp.net/article/27/26059.htm) |
| -- 作者:未知 -- 发布日期: 2005-08-24 |
|
和.Net 中不同,VB6 中默认是使用 ByRef 来传递参数了,看来似乎没有什么可以优化得地方。 可是,实际上 如果你调用 API 得话,从 API浏览器复制下来得代码却是 强制使用 ByVal 传参得 这就给了我们优化得机会。结合以前写得 善用 API 的SendMessage 来提高 插入 VB.ComboBox Item 的速度 我又重新使用该代码 分别测试了一下 ByRef ,ByVal 得区别,结果很振奋: ByRef 比 ByVal 提高了16倍 代码如下,插入ComboBox 得字符串越长,越能显示 ByRef 得威力 Option Explicit Private Declare Function GetTickCount Lib "kernel32" () As Long Dim II As Long
'使用API ByRef
'使用API ByVal
'使用普通 ComboBox Add
End Sub 将 API 传参方式改为 ByRef ,可以提升速度,当然不是所有得API 得参数都能这么改,具体得看 API 函数内是否会对传入得参数进行修改,或者你是否还要继续使用 被传入得参数。 否则会引起一些错误,而有些API 是不允许使用 ByRef 传参得 .具体情况还得具体分析。当然上面得列子完全可以使用 Byref |
| webasp.net |