Optiion严格和后期绑定VB

时间:2018-04-06 18:49:04

标签: vb.net internet-explorer binding automation

对不起伙计们,我CTRL-A我的原帖......当然。

这只是简单地询问我在Option Strict On中遇到的后期绑定错误,这也是在发布控制台应用程序时产生了非常奇怪的不利影响。通过以下操作,感谢非常有用的答案解决了我的问题。

我会说在更好地掌握了晚期和早期绑定之后,我可以看到为什么人们会提前拍摄,有很多非常酷且有用的工具随之而来,它似乎也有助于避免那些崩溃问题。

Dim ie As InternetExplorer         昏暗的文档作为HTMLDocument         Dim ele作为HTMLInputElement         ie =新的InternetExplorer

    ie.Visible = True
    ie.Navigate("www.google.com")
    While ie.ReadyState <> 4
    End While

    document = CType(ie.Document, HTMLDocument)

    ele = CType(document.getElementById("lst-ib"), HTMLInputElement)

    ele.value = "test"

我希望这可以帮助别人,因为它帮助了我。您可以看到我们在示例中使用了早期绑定:)

1 个答案:

答案 0 :(得分:0)

后期绑定基本上是访问编译器在编译时无法确认存在的对象的成员。我可以收集的问题是,InternetExplorer.Document属性是Object类型而Object类型没有getElementById方法。该属性在运行时引用的对象可能具有该方法,但如果编译器无法在编译时确认那么是后期绑定。

您需要做的是将InternetExplorer.Document转换为它在运行时的实际类型,以便编译器在编译时知道有getElementById方法。请注意,对象本身实际上实现了许多不同的接口,因此您需要将其转换为具有您要访问的成员的接口。