電子書籍の厳選無料作品が豊富!

VB6で作成されて古いマシン(windows2000)で動作している
プログラムをWindowsXP Service Pack3にコピーして実行
しようとすると起動時に以下のエラーが出て立ち上がりません。
-------------------------------------
実行時エラー '5';
プロシージャの呼び出し、または引数が不正です
-------------------------------------

http://support.microsoft.com/kb/811469/ja
上記HPの方法は試したのですが、ダメでした。
尚、ソースが無い為、どこで落ちてるか確認出来ません。
何か分かる所は無いでしょうか?
(ちなみに基本的にVB6の動作って、OSの種類やバージョンや、
ServicePaceやWindowsUpdateに影響されると
 考えてよろしいのでしょうか?)

A 回答 (4件)

>> ちなみに基本的にVB6の動作って、OSの種類やバージョンや、


>> ServicePaceやWindowsUpdateに影響されると
>> 考えてよろしいのでしょうか?

参照されたマイクロソフトのHPの内容を読みましたか?
2000とXPではウィンドウ マネージャの仕様が変わったと記載されています。
元々のプログラムが2000で動いていたと言うことは、2000の仕様に合った
プログラムがされていたということでしょう。
それをXPで動かすと、プログラムは2000の仕様で動こうとしているのに、
プログラムを実行する土台がXPの仕様で動いているため不都合が起きていると
なるわけです。

また上記の理由を含めて、VBがプログラマから見えなくしている
windows_api関連の実行で起きていると考えられます。

互換モードで動かなければ、最悪あきらめるしかないでしょう。
最終手段としてヴァーチャルマシン等で動かすことも出来ると思います。
    • good
    • 0

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

    • good
    • 0

単純にexeファイルをコピーしただけでしょうか?


(つまりはそのプログラム自体のインストーラがない?)

サードパーティ製や自作等のocx、DLLがあり、
それがxpのレジストリに登録されていない
ということはないでしょうか?

この回答への補足

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

補足日時:2009/12/10 13:26
    • good
    • 0

良くわからなくて、想像ですが


http://www.asahi-net.or.jp/~ip9m-mngw/scb000002/ …
にあるようなことに関連しているのでは。
参考
http://detail.chiebukuro.yahoo.co.jp/qa/question …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!