C++6.0、VB6.0、VBA(Excel2000)で作成した複数のアプリケーション(Windows2000で動作保証)をWindowsXPでも動作保証をしたいのですが、どこを修正し、なにをテストすればよろしいでしょうか?

XPと2000の互換性や、アプリケーション互換対応に関連する情報や、問題対応の経験談等をを教えてください。

XPの互換モードを変更することによる対応は都合上できません。
Microsoftが示している「アプリケーション互換性チェック リスト」等も調査しましたが、詳細な情報がのっていませんでした。

【XP環境時の既知の不具合】
大きなデータファイルを入力すると正常に動作しない。

【アプリの特徴】
・レジストリの読書有
・Win32API使用(iniファイルの読込等)
・ExcelCOM使用
・GUIは英語

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:nitscape No.1

回答回数526ベストアンサー獲得回数0

ポイント40pt

「動作保障」というのは開発したアプリケーションでWindows XPのロゴを取得したいというわけではなく、開発したアプリケーションがWindows XPで動かないために動くようにしたい、という趣旨ですよね(この意味合いが違うと作業項目も大きく変わります)。


私の経験ではWindows 2000で動作するものがWindows XPで動作しないということはないです。そのためきちんとプログラムを組めばWindows XPでそのまま使えます。


とは言うものの実際のテスト環境ではOSやPC、IEのバージョンやRelease・Debugビルドの環境を変えると動かなかったり挙動がおかしくなることがあります。原因を探すためにテスト用のPCに開発環境を入れると、きちんと動作してしまい原因をさぐれないということもあります。

このような場合私はソースコードの各所にASSERTマクロを入れているのでこれを上書きしてログを出力するようにしています。


たまに原因不明でどうしようもなくなり、該当するモジュールを別のアルゴリズムに作り直すこともあります。しかし9割以上は原因が分かりはプログラミングミスによるバグです。


Windows XPに開発環境を入れても大きなファイル入力時にエラーが起こるようでしたら、エラーの箇所にデバッグポイントを置いて止め、関数の呼び出し履歴をさかのぼって意図しない呼び出しやパラメータが渡っていないかを確認してはどうでしょうか?

id:EguTaka

ご返答何度もありがとうございます。英語化の時はお世話になりました

今回は、開発したアプリケーションがWindows XPで動かないために動くようにしたい、という趣旨です。

現在確認できているバグについてはデバッグによって対応が可能なのですが、

①他に潜在的なバグが存在しないこと。

②また、それを顧客に証明すること。

が問題の焦点となっているのです。

Microsoftの資料には、

「XPでは正常に動作しな場合がある。」

「古いAPIを使用した場合、動作が期待とことなる場合がある。」

や、

「マウスが正常に動くことを確認」等、

(参考HP)<http://www.microsoft.com/japan/technet/prodtechnol/winxppro/deploy/default.mspx>

と記載されています。

Microsoftの意見としては、

「XPに移行しても、大概は正常に動作をする。でもしない場合もある。

その場合は、色々動作確認することによって、保証」

のようです。

全ての動作確認を実行するのは、多大な時間を必要とするため別の方法にしたい。

というのが、私の思いです。

乱筆ですが、よろしくお願い申し上げます。

2005/09/26 14:19:44

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません