• ベストアンサー

VB4・5・6は共存できる?

VisualBasicのVer4.0・Ver5.0・Ver6.0は、ひとつのパソコン(1つのOS)で共存できるのでしょうか? というのも、VB4・5・6で作成されたアプリをそれぞれメンテナンスする必要がでてきました。 4も5も都合上Ver6にバージョンアップさせることができません。しかしながら、それらすべてのメンテ・改造をそれぞれのバージョンで行う必要があります。 パソコンが1つの現状で、同時にこれらをメンテすることができるのでしょうか? (Ver4とVer5は共存できないと聞いたことがありますが…) ご指導お願いいたします。

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

  • ベストアンサー
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 出来ません。 理由  それぞれのVBで同じ名前の違うバージョンの顧問コントロールを使用する為に、共存させた場合には、OSが挙動不審になります。  その場合には、OSを複数入れてメンテするのが筋だと思います。し、無用なトラブルが避けられます。システムコマンダー等々を利用して複数のOSを一つのHDDに入れて、それぞれ、快適な環境にVBをインストールする方が精神衛生的にも勝れていると思います。 VB4 - Windows95(NTは、VB4に対応していない為に却下) VB5 - Windows95/NT4.0 VB6 - Windows95/98/NT4.0 が、対象だったと思う(ちょっと不安)後、IEのバージョンやOFFICEのバージョンでもVBの挙動が変るので、極力クリーンな環境での開発をお薦めします。   

fdh26
質問者

補足

ご指導ありがとうございます。 しかし、え?!NTはVB4に対応していないのですか? 今、その環境で動いているところがあります。(私が入れたところではないのですが…) やっぱりこのままではまずいのでしょうか? (おそらく火の粉が降りかかるのは私…)

その他の回答 (1)

回答No.2

下の回答にあるように共存は無理です。 Windows-Systemは「同じ名前を持つAcitiveXコンポ-ネントはシステムに1つしか存在できない」ということに つきます。  VBのバ-ション間の非互換性には、2つの大きな理由があります。1つは、シンタックスや関数といった言語仕様の上位互換が不完全であること。もう1つは、OCX やDLLのバ-ジョン間の互換が完全でないことです。  特にVB5.0から内部にunicodeを使用してますので、 VB4.0でコ-ドを文字列をバイト列としている場合 関数がまったく違うので、4.0と5.0の共存は無理です。 VB5.0と6.0は、VB4.0とVB5.0ほど、非互換でないので ある程度アプリが動く場合もありますが、挙動が不安定 なのは、解消されません。  まあ、自分たちで作ったアプリだけなら、問題起きてもなんとかあるかもしれませんが、IEのバ-ジョンアップでもVBのプログラムが大きく影響受けてしますのが  なんともはやこまりものです。 

fdh26
質問者

お礼

やはり共存は無理の様ですね。 よく考えると、現在のWindowsのDLL等の使い方では無理そうですよね。 ご回答ありがとうございました。

関連するQ&A