• ベストアンサー

VB6のプログラムの実行

VB6で作成されて古いマシン(windows2000)で動作している プログラムをWindowsXP Service Pack3にコピーして実行 しようとすると起動時に以下のエラーが出て立ち上がりません。 ------------------------------------- 実行時エラー '5'; プロシージャの呼び出し、または引数が不正です ------------------------------------- http://support.microsoft.com/kb/811469/ja 上記HPの方法は試したのですが、ダメでした。 尚、ソースが無い為、どこで落ちてるか確認出来ません。 何か分かる所は無いでしょうか? (ちなみに基本的にVB6の動作って、OSの種類やバージョンや、 ServicePaceやWindowsUpdateに影響されると  考えてよろしいのでしょうか?)

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

  • ベストアンサー
回答No.2

>> ちなみに基本的にVB6の動作って、OSの種類やバージョンや、 >> ServicePaceやWindowsUpdateに影響されると >> 考えてよろしいのでしょうか? 参照されたマイクロソフトのHPの内容を読みましたか? 2000とXPではウィンドウ マネージャの仕様が変わったと記載されています。 元々のプログラムが2000で動いていたと言うことは、2000の仕様に合った プログラムがされていたということでしょう。 それをXPで動かすと、プログラムは2000の仕様で動こうとしているのに、 プログラムを実行する土台がXPの仕様で動いているため不都合が起きていると なるわけです。 また上記の理由を含めて、VBがプログラマから見えなくしている windows_api関連の実行で起きていると考えられます。 互換モードで動かなければ、最悪あきらめるしかないでしょう。 最終手段としてヴァーチャルマシン等で動かすことも出来ると思います。

その他の回答 (3)

回答No.4

どうしても知りたければ、「Dependency Walker」などで、そのexeファイルを開き、「Profile」から「Start Profiling...」を実行すると、そのexeに足りないdllやocxが分かると思います。

回答No.3

単純にexeファイルをコピーしただけでしょうか? (つまりはそのプログラム自体のインストーラがない?) サードパーティ製や自作等のocx、DLLがあり、 それがxpのレジストリに登録されていない ということはないでしょうか?

evaag777
質問者

補足

単純にexeをコピーしただけです。 ocx、dll等は意識してませんでしたが ocx、dll等の差分調査等も行ってみようと思います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

良くわからなくて、想像ですが http://www.asahi-net.or.jp/~ip9m-mngw/scb000002/scb000006.html にあるようなことに関連しているのでは。 参考 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q107987250