- ベストアンサー
VB6のプログラムの実行
VB6で作成されて古いマシン(windows2000)で動作している プログラムをWindowsXP Service Pack3にコピーして実行 しようとすると起動時に以下のエラーが出て立ち上がりません。 ------------------------------------- 実行時エラー '5'; プロシージャの呼び出し、または引数が不正です ------------------------------------- http://support.microsoft.com/kb/811469/ja 上記HPの方法は試したのですが、ダメでした。 尚、ソースが無い為、どこで落ちてるか確認出来ません。 何か分かる所は無いでしょうか? (ちなみに基本的にVB6の動作って、OSの種類やバージョンや、 ServicePaceやWindowsUpdateに影響されると 考えてよろしいのでしょうか?)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>> ちなみに基本的にVB6の動作って、OSの種類やバージョンや、 >> ServicePaceやWindowsUpdateに影響されると >> 考えてよろしいのでしょうか? 参照されたマイクロソフトのHPの内容を読みましたか? 2000とXPではウィンドウ マネージャの仕様が変わったと記載されています。 元々のプログラムが2000で動いていたと言うことは、2000の仕様に合った プログラムがされていたということでしょう。 それをXPで動かすと、プログラムは2000の仕様で動こうとしているのに、 プログラムを実行する土台がXPの仕様で動いているため不都合が起きていると なるわけです。 また上記の理由を含めて、VBがプログラマから見えなくしている windows_api関連の実行で起きていると考えられます。 互換モードで動かなければ、最悪あきらめるしかないでしょう。 最終手段としてヴァーチャルマシン等で動かすことも出来ると思います。
その他の回答 (3)
- toda hiro(@hiro_knigh)
- ベストアンサー率39% (59/151)
どうしても知りたければ、「Dependency Walker」などで、そのexeファイルを開き、「Profile」から「Start Profiling...」を実行すると、そのexeに足りないdllやocxが分かると思います。
- chochobizo
- ベストアンサー率42% (30/70)
単純にexeファイルをコピーしただけでしょうか? (つまりはそのプログラム自体のインストーラがない?) サードパーティ製や自作等のocx、DLLがあり、 それがxpのレジストリに登録されていない ということはないでしょうか?
- imogasi
- ベストアンサー率27% (4737/17069)
良くわからなくて、想像ですが http://www.asahi-net.or.jp/~ip9m-mngw/scb000002/scb000006.html にあるようなことに関連しているのでは。 参考 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q107987250
補足
単純にexeをコピーしただけです。 ocx、dll等は意識してませんでしたが ocx、dll等の差分調査等も行ってみようと思います。