VB2008:后期绑定分辨率;可能发生运行时错误

时间:2016-09-22 20:17:14

标签: vb.net

我使用的函数似乎与VB严格选项不兼容 它会发出警告

后期绑定分辨率;可能会发生运行时错误。

    Public Function RegRead(ByVal Path As String) As String
        Dim ws As Object

        On Error GoTo ErrHandler
        ws = CreateObject("WScript.Shell")
        RegRead = ws.RegRead(Path)
        Return RegRead
        Exit Function

ErrHandler:
        RegRead = ""
    End Function

它会提取与“ws.RegRead”相关的内容

enter image description here

有人可以告诉我如何将其修改为没有警告吗?

1 个答案:

答案 0 :(得分:3)

你的问题是你有

Dim ws As Object

这意味着编译器不知道ws上可用的方法,因此所有方法调用都将延迟绑定。由于编译器无法检查该方法调用是否正确(名称,参数类型是否正确),因此在运行时进行此检查。如果有任何错误,那么您将遇到运行时错误。使用Option Strict时,它会向您发出警告。

相反,您应该使用为.NET设计的API,例如Registry类。