• ベストアンサー

VB6.0から起動したexeファイルを終了するとエラーが発生して困っています

VB6.0(OSはWindowsXP)中からShell関数を利用してexeファイルを起動したのですが、そのexeファイルを終了すると決まってアプリケーションエラーが発生します。これを直接かショートカットで実行して終了するとエラーは出ません。どなたか考えられる原因や解決策をご存じの方、教えて頂けませんでしょうか?よろしくお願い致します。

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

補足ありがとうございます。 >終了の方法は普通に右上のXをクリックしています。 VBから終了させていると思っていました・・・ 普通に終了させてエラーが出るのなら、そのexeの問題っぽいですね。 そのexeを持ってないので何とも言えませんが、思いつく回避策として・・・ 1 cmd.exeから起動してみる Shell "cmd.exe /C ""c:\scr32\milking.exe""", vbHide 'プログラム起動 2 これは関係ないはずですが、ディレクトリを変更しない。 Shell "c:\scr32\milking.exe", vbNormalNoFocus 'プログラム起動 'SetCurrentFolder PrgPath 'ここをコメントアウトしてみる これ位しか思いつかないです。(^^; 役に立たないかもしれません、ごめんなさい。

Rakunouka
質問者

お礼

ご指摘の方法でやってみましたら旨く行きました。大変助かりました。ありがとうございました。

その他の回答 (1)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

どういう方法で終了させていますか? 終了のさせ方は間違っていませんか? よろしければその部分のソースを補足してください。

Rakunouka
質問者

補足

早速のご回答ありがとうございます。 終了の方法は普通に右上のXをクリックしています。 ソースは以下のようになります。 PrgPath = GetCurrentFolder '自分自身のフォルダ待避 SetCurrentFolder "c:\scr32" '起動プログラムのフォルダ移動 Shell "c:\scr32\milking.exe", vbNormalNoFocus 'プログラム起動 SetCurrentFolder PrgPath '自分自身のフォルダ復帰 わざわざプログラムのフォルダーに移動しているのは、それがフォルダー内のDLL等を使っているためです。

関連するQ&A

  • VB4.EXE で 実行時エラー '31037'

    WIN2000 で VB4.EXE を 動かそうとすると 実行時エラー '31037' ファイルの読み込み中にエラーが発生しました。 とエラーが出ます。 どうやらグリッド部分の読み込みで エラーが出てるみたいです。 VB6.EXE を 設定した人間が 環境を変えたらしく 今までのように最低限のDLL,OCXで 動かなくなりました。 VB4.EXE と VB6.EXE を 共存させるには どうすればいいでしょうか?

  • vb6.exe - アプリケーションエラー

    VBで作成したEXEを終了させた時、プロジェクトからプログラムを実行して、 プロジェクトを終了させた時に、下記エラーが発生します。 (プロジェクトを開いて閉じるだけではエラーは発生しない。) -------------------------------------------------------- "0x7c950a19"の命令が"0xffffffff"のメモリを参照しました。 メモリが"read"になることはできませんでした。 -------------------------------------------------------- 自分のPCで実行した時のみ発生します。 (他のPCで実行してもエラーは発生しません。) 何かわかる方がいらっしゃいましたらアドバイス頂けたらと思います。 宜しくお願い致します。 <環境> XP SP3 メモリ4G VB6.0 SP6

  • exeファイルが実行できません

    保存したexeファイルを実行できません。 「実行する」のボタンをクリックすると、「Extracting setup files...」と表示されたウィンドウが一瞬現れてすぐ消えます。その後、「問題が発生したため、setup wizard を終了します。ご不便をおかけして申し訳ありません。」とエラーが出ます。 どうしたらこのファイルを実行できるのでしょうか? 解決策を教えてください。よろしくお願いします。

  • VB6.0で作成したexeファイルが他のPCではエラーが発生して動きません

    はじめまして。 色々検索してみたのですが、なかなか見つからなかったのでお力を貸していただければと思います。 仕事でVB6.0でつくられたプログラムがあります。 最初は別の方(仮にAさんとします)が作ってくださり、いつもそのexeファイルをもらって仕事をしておりました。 この度、私がそのプログラムを修正し、exeファイルを作成したところ、自分のPCでは問題なく動くのですが、他のPCで使用しようとするとエラーが発生して動きません。 プログラムはVB6.0で、指定したエクセルファイルを開いて参照し、データと照合させるものです。 AさんのPCのOSはwinXPです。 Aさんが作ってくれたexeファイルはコピーして、Win95/Win98/WinXPで問題なく動作することが出来ました。 しかし私が修正し、作成したexeファイルはOSは関係なく自分のPC以外ではエラーが発生してしまいます。ちなみに自分のPCもWinXPです。 エラーは「不正な処理をしている為、このプログラムを終了します」という様なものです。 エクセルを参照しようとすると、発生するエラーなので、そのときだとは思うのですが、デバックしようにも、自分のPCでは問題なく動いてしまうので、どうにも出来ません。 よろしくお願い申し上げます。

  • すぐにexeファイルが終了しない。

    VB5(SP3)でアプリケーション(exeファイル)を作成したのですが、 終了させても、数秒間アプリケーションが作動しているようなのです。 (「Ctrl」+「Alt」+「Delete」で「アプリケーションの強制終了」を表示させて確認しています) Win98でこの現象が発生し、Win95だとすぐに終了してくれます。 (どちらとも、同じスペックのPCです) ちなみに、終了させているプログラムの中身は下記のとおりです。 Private Sub 終了_Click()   (処理)   Unload Me   End End Sub すぐに終了させたいのですが、お手上げ状態です。 ご指導のほど、宜しくお願い致します。

  • VB6.0 + Windows 2003環境下でのShell関数の使用

    現在、VB6.0を利用してプログラムを作成しています。 プログラム中からShell関数を利用してexeファイルを起動しようとしているのですが、exeファイルが起動しません。 実行環境OSがWindowsXPの場合は正常に起動するのですが、Windows2003で同じように実行したさい、exeファイルが起動しないのです。 イベントビューアのアプリケーションログを調べたところ、VBRuntimeエラーが発生していました。 エラー内容は、「実行時エラー'91'オブジェクト変数または With ブロック変数が設定されていません。」です。 VBRuntimeのバージョンは6.0.97.82です。 何か原因・解決策が分かる方いましたら ご協力お願いします。

  • 「問題が発生したため終了します。」でVBが終了してしまいます。

    「問題が発生したため終了します。」でVBが終了してしまいます。 「Microsoft Visual Basic 2010 expressで問題が発生したため終了します。」でVBが終了してしまいます。 再度VBを立ち上げると最初はうまく実行してくれますが、コントロールの追加など、構造的にちょっと変更するとすぐ同じエラーが出ます。(作成したVBのプログラムのせいではないと思う-いくつか簡単なプログラムでやってみましたが同じです) 「問題の詳細」には 問題の署名: 問題イベント名: APPCRASH アプリケーション名: vbexpress.exe アプリケーションのバージョン: 10.0.30319.1 アプリケーションのタイムスタンプ: 4ba1faaa 障害モジュールの名前: kernel32.dll 障害モジュールのバージョン: 6.1.7600.16481 障害モジュールのタイムスタンプ: 4b1e3897 例外コード: c0000005 例外オフセット: 00042523 OS バージョン: 6.1.7600.2.0.0.256.48 ロケール ID: 1041 更にちょっと気になるのは、エクスプローラをいじっていたとき同じように、 「xxxx(内容は覚えていません) で問題が発生したため終了します。」と出て終了してしまったことが一度ありました。 そのときの「問題の詳細」には 問題の署名: 問題イベント名:BEX アプリケーション名:iexplore.exe アプリケーションのバージョン:8.0.7600.16385 アプリケーションのタイムスタンプ:4a5bc69e 障害モジュールの名前:StackHash_0a9e 障害モジュールのバージョン:0.0.0.0 障害モジュールのタイムスタンプ:00000000 例外オフセット:00720068 例外コード:c0000005 例外データ:00000008 OS バージョン:6.1.7600.2.0.0.256.48 ロケール ID:1041 追加情報 1:0a9e 追加情報 2:0a9e372d3b4ad19135b953a78882e789 追加情報 3:0a9e 追加情報 4:0a9e372d3b4ad19135b953a78882e789 となっていました。 よろしくお願いします。

  • ActiveX → VB を起動するとCreateObjectできない。

    初めまして。 2003Server+IIS6.0の環境でASP内のActiveXからShell関数でvbのexeを実行させる処理を作成しております。 サーバーから直接exeを実行させると正常に動くのですが、Web上からasp→ActiveX→exeを起動させるとテキストに書き込む処理はできるのですが、「CreateObject」文で「ActiveX コンポーネントはオブジェクトを作成できません」というエラーが返ります。 VB内でなぜ「CreateObject」が出来ないのかご存知の方はいますでしょうか。 宜しくお願いいたします。

  • VB5が起動しない

    VB起動時,vb5.exeアプリケーションエラーのメッセージボックスが表示され,強制終了してしまいます. どうしてでしょうか?

  • VBからExcelが起動しません

    Excelファイルを開くプログラムをVBで作成したのですが 1つのパソコンだけ実行時エラー5が発生してExcelを起動できません どなたかお助けください プログラムはこんなかんじです WKPATH = "D:\Program Files\Microsoft Office\Office\EXCEL.EXE " & " c:\a.xls" exl = Shell(WKPATH, 1) ちなみにエラーが発生するパソコンはNT4.0sp6です