No.3ベストアンサー
- 回答日時:
補足、早いですね。
問題の解決もこのまま進めば、時間の問題です。
shigeki-yyさんの補足の結果から判断すると、
SHELL周りが非常に怪しいです。
手元に資料がないので、(インターネットで探せば見つかるのですが、なまけものなのでお許しを)詳しいことは
書けませんが、確かWindows98とWindows2000では
SHELLの呼び方が違ったと思います。
まずは、その辺を調べてみてはいかがでしょうか?
補足の内容からコントロール関係は、あまり影響していないような気がしました。
SHELL周りで問題がないときにコントロールを調べたほうがいいと思います。
では。
この回答への補足
ありがとうございます。
SHELL関数について、Microsoftのホームページなどインターネットで調べてみたんですけど、Win98とWin2000での違いについての記述は見つかりませんでした。
shellで呼んでも、フォームの表示までは正常に動いているので、そこが原因ではないような気もしています。
もう少しコントロールと平行して調べてみます。
調べたところ、呼び出し方と言うよりShell関数を動かしているDLLが、win98とwin2000では違うみたいです。
いろいろ勉強になりました。
忙しい中、ありがとうございました。
No.4
- 回答日時:
>SHELL周りが非常に怪しいです。
SHELL関数の代わりにAPI関数のShellExecuteを使うとか
もしかして、画面を沢山開いていますか?
ありがとうございます。
ShellExecute関数に変えたらうまくいきました。あれほどうまくいかなかったのに。
shell関数の仕様が違うのか、プロセスの扱いが2000と98で違うんですかね?
ちなみに画面はそれほど開いていないです。前のプログラムが処理終了する寸前にパラメータを渡して起動しています。
No.2
- 回答日時:
追加でお答えします。
補足で記載されていることから予想されることは、
shigeki-yyさんが作成されているEXEは
Windows2000で作成されていて、そのEXEをWindows98
で、実行できないと読み取れるのですが正しいですか?
作成環境と試験環境がどのような関係になっているのかが
ちょっと文面から読み取れないので、何ともいえませんが、下記の文章を参考にしていただけると幸いです。
コマンドボタンを押したときの先頭にMSGBOXを入れてもそこまでたどり着けないという現象からわかることはwithブロック変数が設定されていないという項目はないと思います。
ですからobject変数の宣言が怪しいか、後は環境の違いでしょう。
とりあえず全体に対してOption Explicit(つづりあってましたっけ?)を入れて、エラーをチェックしてみてください。
それでも引っかかるときは、フォームに張ってあるコンポーネントを疑ってみてください。
例えば、IEに関連するコントロールやOffice関係のコントロール、ライセンスが必要なコントロール張ったりしていませんか?
その辺を疑ってみるといいと思います。
最後の手段で、Windows98で同じソースを使ってEXEを作成&デバッグすれば解決すると思います。
あまり回答にはなっていませんが、参考になればと思い書いて見ました。
この回答への補足
ありがとうございます。
おっしゃる通り、win2000でコンパイルしたEXEが98で動かないという事象です。(Win98でコンパイルしても同じ事象です。)
作成環境(Win2000)・実行環境(Win98SE)ともに同じバージョンのVisualStudio(V6.0SP5)がインストールされています。
OptionExplicitはデフォルトで入るようになっているので、その方面でのエラーはないようです。Win98でデバッグすると問題なく通ってしまうので、そこで原因も発見できませんでした。
もう少し、フォームに張り付いているコントロールの方を調べてみます。
あと、新たにわかったことは、別のVBからの呼び出し(SHELL関数)では同じ事象が起こりますが、単体(DOSコマンドラインから実行)だと動きます。呼び出しはSHELLで呼んでいるだけなので、そこに問題があるとも思えないのですが…。
No.1
- 回答日時:
こんにちは。
質問内容から細かいことは何ともいえないのですが、
プログラミング&デバッグしたマシンとEXEを実行したマシンの環境が違うのではありませんか?
この場合は、フォームに張ってあるコントロールや、実行に必要なファイルが不足している恐れがあります。
VBのバージョンとか張っているコントロールもしくはエラーの原因となりそうなオブジェクトの名前もあわせて質問すると回答者の方は的確なアドバイスをくれると思います。
実行時のエラーが出る場合は、エラーの原因となりそうなところにメッセージボックスを表示させ、どこまで処理が進んでいるか確認して、ソースを見直すことをお勧めします。これを繰り返していくと、だんだんエラーの原因となっているobject変数またはwithブロックにたどり着きます。この方法で、エラーの発生している行を突き止めましょう。
この回答への補足
指摘の通りです。大雑把な質問ですみません。
バージョンはVB6.0SP5です。
普通のコマンドボタンのクリックイベントでの処理なのですが、先頭にMSGBOXをかませても、その処理までたどり着きません。フォームなどは正常通りに表示され、機能しているんですけど、そのボタンを押した瞬間にフリーズして、Cntl-Alt-Deleteを押すと、上記のメッセージが表示されます。
そのプロシージャに書かれているソースを全部消しても同様になります。他に原因があるのかな…とも思うのですが。
ちなみに新しくわかったことですが、Windows2000では正常に動作し、エラーとなるのは、Windwos98です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Visual Basic(VBA) VBAでWorkbook.addの使い方 3 2023/02/01 11:58
- Visual Basic(VBA) 【VBA】ボタンに登録したマクロがエラーになる 4 2022/07/25 17:47
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Excel(エクセル) エクセルVBA 作業後に選択範囲を解除する方法 5 2023/02/17 07:13
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- Visual Basic(VBA) IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。 以下のコードを 3 2023/06/21 17:58
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Handlesについて
-
visual C++ でビルドの中止がで...
-
バッチからsqlplusの接続エラー...
-
エクセルでマクロを実行すると...
-
fortranでプログラムを実行する...
-
ビルド失敗 指定されたファイ...
-
sys/time.hのインクルードがで...
-
デバッグ中のエラーのことで教...
-
Excelのエラーで困ってます。
-
コンパイルできません。
-
WindowsからLinuxへの移植
-
Fortran コンパイルエラーについて
-
C2146を回避するにはどうしたら...
-
SQLServerについて
-
PC画面を録画するプログラムでd...
-
HEWを使用しているのですが、こ...
-
Visual Studioのstrcpy_sについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
fortranでプログラムを実行する...
-
BC30002: 型 'ListItem' が定義...
-
VBAでファイルを開くプログラム...
-
sys/time.hのインクルードがで...
-
error C3867 関数呼び出しには...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
LPCWSTRとchar
-
RightとLeft関数のライブ...
-
Handlesについて
-
multiple definitionというエラー
-
ACCESSのDate関数のエラー表示...
-
WindowsからLinuxへの移植
おすすめ情報