- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6 実行時エラー -2(fffffffe))
VB6 実行時エラー -2(fffffffe)の解決方法は?
このQ&Aのポイント
- VB6で作成したAPでエラーで出て困っております。調べても解決策が見つからず、皆様のお力をお借りしたいと思います。
- webbrowserコントロールを利用し、GIFファイルの表示を行う処理で実行時エラー '-2(fffffffe)'が発生します。
- エラー発生後、デバッグモードに移行すると、問題なくDoEventsを通り抜けますが、原因が特定できず悩んでいます。情報をお持ちの方がいらっしゃいましたら、ご教授ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
自信はありませんが、なんとなく、DoEvents が多重呼び出しされて、おかしくなっているのかな、という気がします。 試しに、次の Sleep 関数を宣言しておいて、 Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) Do DoEvents Sleep 100 Loop Until GifLoad のようにしてみるとどうなるでしょうか? それと、 Set Hstyl = WebBrowser.Document.Body.Style With Hstyl .OverFlow = "hidden" .MarginLeft = "0px" .MarginTop = "0px" End With の部分を Private Sub WebBrowser_DocumentComplet(ByVal pDisp As Object,URL As Variant) の中に入れてやれば、Do ~ Loop を使わなくて済むと思うのですが、そうしない理由がなにかあるのでしょうか?
お礼
お礼が遅れて申し訳ありません。 とりあえず解決しました。 WebbrowserコントロールはIEの一部Dllを使用しているそうで、 試しにIEを入れなおして見た所正常に動作するようになりました。 違いを比べてみたところ、 Webbrowserコントロールの参照しているDllがshdocvw.dllからieframe.dllに変わっていました。 ちなみに、実行時エラー -2についてですが、 詳しいことはわかりませんでしたが、DoEventsでエラーが発生する度に 「実行時エラー -2」→「実行時エラー -4」→「実行時エラー -6」と値が変わっていきます。 上記の結果から、特に意味のないエラー?ではないかなと思っています。
補足
レスありがとうございます。 WebBrowser_DocumentCompletの中で処理を行わない理由は、前後にも似たような処理を行っており、確実にGifファイルが表示されるまで待機させたいためです。 ・Sleep関数を使う方法 ご教授いただきありがとうございます。 現在、試してみたところ、エラーは出ておりません。 ただ、後付で申し訳ないのですが、常にエラーが出るわけではなく、数回~数十回に1回ほどの間隔で発生しております。 今後も注意して検証していこうと思います。 なお、引き続いて「実行時エラー -2」の情報を募集中です。 もし具体的にエラーの内容をご存知の方おられましたら、ご助力お願いします。