VB6.0で作成されたプログラムの動作OSを調査するには?

解決


ナベス−  2009-07-18 00:24:16  No: 101891

以前にOSがXPの環境でVB6.0で作成されたプログラムがあります。
これをWin2000で使用できるかを調べるには、どの様にすれば良いのでしょうか?
すみませんが宜しくお願い致します。


GOD  2009-07-18 01:25:04  No: 101892

対象OSを用意して評価するしかないと思うよ。
気をつけるべきところはAPI関係かな。動作が違ったりサポートしていなかった
りする場合があるので。


ナベスー  2009-07-18 01:47:45  No: 101893

やはり、対象0Sで評価するしかないですか。
使用しているAPIを検索かけてwin2000で使用出来て、動作内容も同じかを調査する方法では、難しいのでしょうか。


魔界の仮面弁士  2009-07-18 02:13:29  No: 101894

そのソフトの開発当時の仕様書が入手できれば良いのですけれどね…。

XP で開発されていたからといって、XP 用であるとは限りませんから、
Win95 や Vista 向けのコードが含まれている可能性も含めて
調べなければならないかも知れません。

> 使用しているAPIを検索かけて

OS に依存性があるのは、API だけではありません。
たとえば、使用可能な WMI のクラスにも差がありますし、
SysInfo.OSVersion を使ったコードなども注意が必要でしょう。
あるいは、WebBrowser コントロールや MSXML などのバージョンにも
注意が必要かも知れません。

他にも、フォントの問題もあります。

メイリオのように、Windows 2000 用に提供されていないフォントもありますし、
あるいは、下記のような違いにより、レイアウトのずれが問題になるかも知れません。
http://msdn.microsoft.com/ja-jp/library/cc979401.aspx

見た目の違いという点で言えば、Widows 2000 は ClearType をサポートしないため、
XP と比較すると、文字の見た目が変わってしまうコントロールがありえます。
また、OS によってサイズが異なってしまうコントロールもあります(例:MonthView)。

あとは Side-by-Side の違い。もしもレジストリに登録せずに使っている
ActiveX コンポーネントがあれば、それも考慮対象となりえるでしょう。
http://msdn.microsoft.com/ja-jp/library/ms811700.aspx
http://msdn.microsoft.com/ja-jp/events/dd277942.aspx


オショウ  2009-07-18 02:15:38  No: 101895

基本的にそのソフトウェアはどういう機能・動作をするもの
でしょうか?
調査方法としては、該当OSで実験するのが一番確実ですが・・・
VBのランタイム以外の命令・機能を使っているか?
APIやActiveX・・・
ActiveXが、OCXやDLLの場合、DependencyWalkerを使って、
使用されている他のDLL等を検索する。

基本XPで動作するならWin2000なら問題出にくいと思います
が・・・

※  IEのバージョンやSP導入時の付加機能を使っていた場合
    Win2000では動作保証がない、もしくはインストールで
    きないものがありますので、その場合は無理になります。

以上。参考まで


オショウ  2009-07-18 02:17:22  No: 101896

をを〜魔界の仮面弁士さんとかぶった・・・

いつもながらによいコメントですネ!〜(感心)


ナベスー  2009-07-18 02:57:21  No: 101897

色々とコメントありがとうございます。
今、確認しようとしているソフトは、TCP/IPを使ったデータの受信側ソフトになります。具体的には、測定器からはき出されるデータをLANを使って1台のPCにデータを貯めるものです。
お分かりになるでしょうか。

ユーザー側のシステムを再現して検証するのが一番確実な手法みたいで、
色々とOSによる違いの部分を知ることが出来て大変勉強になりました。
ありがとうございます。

GOD様
魔界の仮面弁士様
オショウ様
貴重なご意見ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加