2016-07-04 2 views
0

私はもう一度、古いトラフィックvb6プログラムを更新しなければならないため、トラフィックに夢中にしたいと思っています。VB6プログラムからShell Foo.exeを呼び出すとFoo.exeが消えた場合、VB6プログラムも消えてしまいますか?

私は、特定の状況下でVB6プログラムによってシェルルされるベアボーンの.Netアプリケーションを作成しました。

.Netプログラムは.Net 4.5.2で動作し、VB6 IDEはWindows XPシステム上にあるので(私を殺してください)、私は完全に期待しています.Netアプリケーションは、 VB6プログラムは、それを開発環境で実行するように呼び出します。残念ながら、それは起こっていない

- 何が起こっていることは、私はランタイムエラー5.

を取得しています。これは、コールVB6では作るべきである - それだ

Shell """" & App.Path & "\Foo.exe""" 

を。 VB6のプログラムはGUIを持っていて、カジュアルなアルコール依存症を趣味として取り入れたいのですが、問題の.Netプログラムは見た目のないアプリケーションです(UIはなく、コンソールもありません)。

私が考えることができる唯一のことは、VB6を爆発させるというプログラムが呼び出されたことです。その仮説は正しいのですか?もしそうでなければ、他に何が問題になるでしょうか?

+0

VB6? .NETではありませんか? VB6を学ぶためにゲームの本当に遅れているようだ... –

+0

@AustinFrench私は知っている.Net。私はVB6について十分に知っている私の手首と喉をスリットしないように私はこれらの神のひどいレガシーアプリケーションをサポートすることを余儀なくされています。私はVB6を学ぼうとはしていない。私はちょうどクライアント仕様ごとにこの愚かなプログラムを更新しています。 – Will

+0

.netプログラムがスタンドアロンで実行できる場合は、問題ではありません。 .Netプログラムは何をしますか? – dbmitch

答えて

1

VB6 Shellコマンドは、指定されたプログラムを起動できない場合、ランタイムエラー5を発生させます。そのランタイムエラーが処理されていない場合、プログラムはそのエラーの標準VB6エラーメッセージで停止します。コメントに記載されているように、OPの.NET EXEはWindows XPで起動できません(おそらく、x64用に構築されたものでしょうか?)ので、このエラーが発生しています。

2

.Net 4.5+はXPではサポートされていないため、あなたのアプリが動作するとは思われません。実際に私はどのようにあなたが4.5をインストールしたかわからない。試してみると、OSチェックで失敗しました。私は結果として4.0をターゲットにしなければならなかった。

VB6は.Netアプリケーションのために同じプロセスではないため、クラッシュしません。それはあなたが見ているようにエラーが発生しますが、あなたはそれを処理して移動します。

関連する問題