OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

実行時エラーについて

  • すぐに回答を!
  • 質問No.142129
  • 閲覧数612
  • ありがとう数6
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 81% (18/22)

お世話になっています。教えて下さい。

VBで作ったプログラムです。
デバッグ時には何の問題もなく、実行可能(完全コンパイル後に実行)で、コンパイルも問題なく通りますが、EXEにして実行すると、以下のエラーが出ます。

実行時エラー:'91'
object変数、またはwithブロック変数が設定されていません。

どなたか、原因に心当たりがある方、いらっしゃったら教えて下さい。
よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル8

ベストアンサー率 50% (15/30)

補足、早いですね。
問題の解決もこのまま進めば、時間の問題です。
shigeki-yyさんの補足の結果から判断すると、
SHELL周りが非常に怪しいです。
手元に資料がないので、(インターネットで探せば見つかるのですが、なまけものなのでお許しを)詳しいことは
書けませんが、確かWindows98とWindows2000では
SHELLの呼び方が違ったと思います。
まずは、その辺を調べてみてはいかがでしょうか?
補足の内容からコントロール関係は、あまり影響していないような気がしました。
SHELL周りで問題がないときにコントロールを調べたほうがいいと思います。
では。
補足コメント
shigeki-yy

お礼率 81% (18/22)

ありがとうございます。

SHELL関数について、Microsoftのホームページなどインターネットで調べてみたんですけど、Win98とWin2000での違いについての記述は見つかりませんでした。
shellで呼んでも、フォームの表示までは正常に動いているので、そこが原因ではないような気もしています。

もう少しコントロールと平行して調べてみます。
投稿日時 - 2001-09-27 17:26:57
お礼コメント
shigeki-yy

お礼率 81% (18/22)

調べたところ、呼び出し方と言うよりShell関数を動かしているDLLが、win98とwin2000では違うみたいです。

いろいろ勉強になりました。
忙しい中、ありがとうございました。
投稿日時 - 2001-09-28 10:07:42
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル8

ベストアンサー率 50% (15/30)

こんにちは。 質問内容から細かいことは何ともいえないのですが、 プログラミング&デバッグしたマシンとEXEを実行したマシンの環境が違うのではありませんか? この場合は、フォームに張ってあるコントロールや、実行に必要なファイルが不足している恐れがあります。 VBのバージョンとか張っているコントロールもしくはエラーの原因となりそうなオブジェクトの名前もあわせて質問すると回答者の方は的確なアドバイス ...続きを読む
こんにちは。

質問内容から細かいことは何ともいえないのですが、
プログラミング&デバッグしたマシンとEXEを実行したマシンの環境が違うのではありませんか?
この場合は、フォームに張ってあるコントロールや、実行に必要なファイルが不足している恐れがあります。
VBのバージョンとか張っているコントロールもしくはエラーの原因となりそうなオブジェクトの名前もあわせて質問すると回答者の方は的確なアドバイスをくれると思います。
実行時のエラーが出る場合は、エラーの原因となりそうなところにメッセージボックスを表示させ、どこまで処理が進んでいるか確認して、ソースを見直すことをお勧めします。これを繰り返していくと、だんだんエラーの原因となっているobject変数またはwithブロックにたどり着きます。この方法で、エラーの発生している行を突き止めましょう。
補足コメント
shigeki-yy

お礼率 81% (18/22)

指摘の通りです。大雑把な質問ですみません。

バージョンはVB6.0SP5です。
普通のコマンドボタンのクリックイベントでの処理なのですが、先頭にMSGBOXをかませても、その処理までたどり着きません。フォームなどは正常通りに表示され、機能しているんですけど、そのボタンを押した瞬間にフリーズして、Cntl-Alt-Deleteを押すと、上記のメッセージが表示されます。
そのプロシージャに書かれているソースを全部消しても同様になります。他に原因があるのかな…とも思うのですが。

ちなみに新しくわかったことですが、Windows2000では正常に動作し、エラーとなるのは、Windwos98です。
投稿日時 - 2001-09-27 13:23:05
  • 回答No.2
レベル8

ベストアンサー率 50% (15/30)

追加でお答えします。 補足で記載されていることから予想されることは、 shigeki-yyさんが作成されているEXEは Windows2000で作成されていて、そのEXEをWindows98 で、実行できないと読み取れるのですが正しいですか? 作成環境と試験環境がどのような関係になっているのかが ちょっと文面から読み取れないので、何ともいえませんが、下記の文章を参考にしていただけると幸いで ...続きを読む
追加でお答えします。

補足で記載されていることから予想されることは、
shigeki-yyさんが作成されているEXEは
Windows2000で作成されていて、そのEXEをWindows98
で、実行できないと読み取れるのですが正しいですか?
作成環境と試験環境がどのような関係になっているのかが
ちょっと文面から読み取れないので、何ともいえませんが、下記の文章を参考にしていただけると幸いです。
コマンドボタンを押したときの先頭にMSGBOXを入れてもそこまでたどり着けないという現象からわかることはwithブロック変数が設定されていないという項目はないと思います。
ですからobject変数の宣言が怪しいか、後は環境の違いでしょう。
とりあえず全体に対してOption Explicit(つづりあってましたっけ?)を入れて、エラーをチェックしてみてください。
それでも引っかかるときは、フォームに張ってあるコンポーネントを疑ってみてください。
例えば、IEに関連するコントロールやOffice関係のコントロール、ライセンスが必要なコントロール張ったりしていませんか?
その辺を疑ってみるといいと思います。
最後の手段で、Windows98で同じソースを使ってEXEを作成&デバッグすれば解決すると思います。
あまり回答にはなっていませんが、参考になればと思い書いて見ました。
補足コメント
shigeki-yy

お礼率 81% (18/22)

ありがとうございます。

おっしゃる通り、win2000でコンパイルしたEXEが98で動かないという事象です。(Win98でコンパイルしても同じ事象です。)
作成環境(Win2000)・実行環境(Win98SE)ともに同じバージョンのVisualStudio(V6.0SP5)がインストールされています。
OptionExplicitはデフォルトで入るようになっているので、その方面でのエラーはないようです。Win98でデバッグすると問題なく通ってしまうので、そこで原因も発見できませんでした。

もう少し、フォームに張り付いているコントロールの方を調べてみます。

あと、新たにわかったことは、別のVBからの呼び出し(SHELL関数)では同じ事象が起こりますが、単体(DOSコマンドラインから実行)だと動きます。呼び出しはSHELLで呼んでいるだけなので、そこに問題があるとも思えないのですが…。
投稿日時 - 2001-09-27 16:03:22
  • 回答No.4
レベル13

ベストアンサー率 59% (729/1235)

>SHELL周りが非常に怪しいです。 SHELL関数の代わりにAPI関数のShellExecuteを使うとか もしかして、画面を沢山開いていますか? ...続きを読む
>SHELL周りが非常に怪しいです。

SHELL関数の代わりにAPI関数のShellExecuteを使うとか
もしかして、画面を沢山開いていますか?
お礼コメント
shigeki-yy

お礼率 81% (18/22)

ありがとうございます。
ShellExecute関数に変えたらうまくいきました。あれほどうまくいかなかったのに。

shell関数の仕様が違うのか、プロセスの扱いが2000と98で違うんですかね?
ちなみに画面はそれほど開いていないです。前のプログラムが処理終了する寸前にパラメータを渡して起動しています。
投稿日時 - 2001-09-27 18:43:16
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ