1

VB画面にデータを表示する必要があります。WebBrowser コントロールを使用しています。

次に、このコマンドを使用しています:

m_oFrm.WebBrowser1.Document.Write (SHtml) 

出力を画面に表示します。

ステートメントはデバッグ モードでは問題なく実行されますが、EXE/DLL ではエラーが発生します。

オブジェクトまたは変数が設定されていません

次の代替オプションを使用しました。

Dim objHTMLDocScore As MSHTML.HTMLDocument
Set objHTMLDocScore  = m_oFrm.WebBrowser1.Document

その後

Document.Write (SHtml)

しかし、コンパイル中にエラーが発生します

関数またはインターフェイスが制限付きとしてマークされているか、関数が Visual Basic でサポートされていない自動化の種類を使用しています

「関数またはインターフェイス マーカーが制限されているか、関数が Visual Basic でサポートされていないオートメーション タイプを使用しています」というエラー メッセージについて StackOverflow に質問があることがわかりますが、同じことを理解できません。

Internet Explorer バージョン 8 を使用しています。

4

3 に答える 3

3

まだ構築されていないドキュメントに書き込もうとしています。デバッグするとき、ブラウザはオブジェクトを構築する時間がありますが、それ以外の場合は構築しません。

書き込む前に readyState プロパティを確認してください。

どこかに移動する前に書き込みたい場合は、まず に移動しabout:blank、 を待ってreadyStateから書き込みます。

于 2012-09-20T20:46:32.417 に答える
0

多くの場合、DHTML Edit コントロールは次のような場合に適しています。

Private Sub Form_Load()
    With DHTMLEdit1
        .BrowseMode = True
        .DocumentHTML = "<html><body>Hello World!</body></html>"
    End With
End Sub

もちろん、Microsoft の新しい (XP 以降の) TriEdit パッケージと、関連する SDK ドキュメントが必要になるでしょう。

于 2012-09-20T21:06:37.963 に答える