• ベストアンサー

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

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

  • fdh26
  • お礼率92% (106/115)

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

  • ベストアンサー
  • 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

  • ブラウザ、IEの位置をVB6で決めたいのですが

    VB6(VisualBasic Ver6)を使っています。shellコマンドでInternetExplorerを立ち上げる場合、どうすればInternetExplorerの表示位置を指定できるのでしょうか? 現状・・・VB6のプログラム(StartUpPosition=0、手動)でInternetExplorerを表示させた後、プログラムを先に停止したあとInternetExplorerを閉じれば、次回もInternetExplorerは同じ位置に表示されることが分かりました。 このとき、InternetExplorerを先に閉じてVb6プログラムを閉じると、次回InternetExplorerの位置は元の位置になりません。

  • VB6 と Jet

    VB6(SP5)で、Access97のファイルを読み書きしております。 最新のJetのバージョンは、いつくなのでしょうか ? また、開発マシンをVer-Upした場合、配布済マシンもVer-UPが 必要なのでしょうか ? 宜しくお願い致します。

  • 同じソフトで別バージョンの共存は可能?

    現在WinXPでOffice2000を使用しています。 Word,EXCEL,ACCESS,PowerPoint,Outlook,Frontpage 全部入ってます。 人にWordとEXCELを教える機会が増えたのですが、初心者さんが多いのでバージョンが2002で、多少の違いにいつも戸惑っています。 私自身2000が使い慣れているのですが、そろそろ2002も自分で慣れなくちゃいけないなと感じています。 今のパソコンを買ったときにWord,EXCEL,OUTLOOKの2002が付いてきました。 これを用いてWord,EXCELだけを2002にバージョンアップすることは可能でしょうか? もうひとつ、マックを使っていたときは同じソフトでバージョン違いを同じハードディスクに共存させて問題なく動作しました。 Windowsでは可能でしょうか?個人的には2000のほうが使い慣れているので… 一応MacromediaのDreamWeaverのVer.4とMXの共存は今のパソコンで出来ています。 なんか無理っぽい感じがするのですが…アドバイスをお願いします。

  • VBの勉強方法

    いつもお世話になっています。 エクセルやワードを使っていただけの初心者です。 VBを勉強したくて本を買ってみました。 「作って覚えるVisualBasic2005」という本です。 よみはじめると.NETFrameWorkがなんたらとかでてきました。 1..NetFrameWorkというのはミドルソフトのようなもの ですか?(OSの上にあって、VBをうごかすのに必要なもの? といった意味ですか?全然違いますか。。。) どのパソコンにもはいっているものではないのですか? 2.パソコン自体にも詳しくないため、第1章のこの概念の部分 ではやくもわからなくて立ち止まってしまいました。 このあたりはわからなくてもいいからどんどん作ってみるのが よい勉強方法なのでしょうか。 概念はいつかわかるようになるのでしょうか。。。

  • HDDとSSDの共存

    HDDとSSDの共存 先般は、貴重な情報を教えていただき、DellのOPTIPLEX7010のSSD化に挑戦することにしました。 手順は、以下の動画を参考にしましたが、また理解のできない事が出てきましたので質問を投稿させていただきました。 https://youtu.be/uN_JYACqaOs 当方の希望は、既に内蔵されていますHDDと追加するSSDを共存させたいと思います。 以下のような方法ですと、HDDを取り外してしまいます。 https://youtu.be/V4nmFIrNKdg 共存させるには特殊なハーネスが必要だと思いますが、以下のようなセットに付属していますハーネスで取り付ける事ができるのでしょうか? https://www.amazon.co.jp/dp/B01I4H2FCQ/ref=cm_sw_r_em_apa_i_ChvtDb43SF5TV それとも、専用のコネクターがパソコン内に取り付けてあるのでしょうか。 どうかご指導くださいませ。

  • VB6の習得について

    現在、小さな会社で研究開発の仕事をしています。 これまでプログラミングの経験はないのですが業務の必要上、 既存のプログラム(VB6、約6000行)を修正、場合によっては 一から書き直すように指示がありました。これにあたって上司のスタンスですが、 ・たとえ初心者だとしても、「練習のためのコーディング」は業務時間には認めない  何らかの形で製品に反映されるコーディングのみを認める ・今後のメンテナンスのことも考えると、VBの6以降のバージョンは使ってはいけない  VB6の範囲で完結させるように ・そもそもコーディングとは好きな人、向いている人が、人から言われなくても  書くものだ、だから自宅で練習やコーディングをするのが当然だ ・お前ができないなら、外注に出す(今の私は契約社員なので、立場はかなり悪くなります) ある程度なら、自腹で開発環境を自宅におこうかとも思ったのですが、最新のVBならともかく VB6は私の知る限り、正規の方法でインストールは難しいようです。(できたとしても非常に高額) VB6を含めてVBをある程度マスターしたいという気持ちはあるのですが、今の状況で どのような手段がベストでしょうか? また、VB6でコーディングしたテキストと最新のVBとの互換性などはどのような関係にあるのでしょうか? ご教示のほど、よろしくお願いします。

  • VBにて指定した通りにExcelの列幅が設定されません..

    こんにちは。 VBにて指定した通りにExcelの列幅が設定されず、困っております。 【現象】 VisualBasicから、Excelを起動し新規ブックを生成し、 ワークシートを指定して全列幅を「1.75ポイント」で 設定したいのですが、どうしても 列幅が「1.83ポイント」で設定されてしまいます。 VB側ソースでは、次のように書いております。 ワークシート(Index).Cells.ColumnWidth = 1.75 VB側で指定した列幅がExcel側で不都合というケースはあるのでしょうか..。 VB側で列幅を指定したにも拘らず、 Excel側で勝手に列幅を調整してしまう事はあるのでしょうか..? 【実行環境】 ・Visual Basic 6.0 ・Excel Ver2002 かなり急いでおります。 お忙しい中、恐縮ではございますが、 何かご存知の方、アドバイス等、頂戴できますと幸いです。  

  • VisualBasicアプリについて教えて下さい。

    VisualBasicでのWindowsアプリ作成について教えてください。TreeViewで選択したフォルダのサイズを調べられるアプリを作成したい。 1週間ほど前からVisualBasicを学び始め、現在以下のようなアプリを作っています。 作り始めてみたものの、コントロールを配置後、何をどうすればよいか全くわかりません。 どなたかプログラム例を教えてくれませんか? 【内容】TreeViewでフォルダを選択→テキストボックス等に選択したフォルダのサイズが表示される 【VBのバージョン】VisualBasic2010Express ※「本で調べてください」といった回答はご遠慮下さい。ヒントやプログラム例を回答してくださる方のみ、回答をお待ちしています。

  • VB.NETでティッカーのようなものをスムーズに

    VB.NETを使い、文字列を横に流す、いわゆるティッカーのようなものを制作しています。 Labelに文字列を入れ、TimerのTickごと(現状Interval=2)にLabel1.Left -= 2という動作をさせていて、 これを5つ(Label1~Label5)同時に行っているのですが、パソコンのスペックによってか、時々動作が重くなる時があります。 近頃のPCとしては大した処理ではないと思うのですが、どのようなコードを書いたらもっとスムーズに動かせるでしょうか? よろしくお願いします。

  • サービスパック、ランタイムの他のバージョン環境との相性について

    只今、VB6.0 SP5の環境で作成したアプリのリリースを控えております。 しかし、製造期間の都合上、本当はCで作成すべきと思いつつVBで製造してしまいました。 それで大変不安な点があるのですが、 このアプリはWindows9X,NT,2000,XPの全てを対応するように作成しました。 しかし、VBアプリという以上、他バージョンで作成されたVBアプリ、 またはサービスパックバージョンが異なる環境で製造リリースされたアプリが既にインストールされている端末に当アプリをインストールした場合、 ランタイム間で競合や不具合が生じたりしないのだろうかということです。 マイクロソフトのHPを見てみましたが、開発環境は共存不可能とは書かれておりましたが、配布されるランタイム同士の相性についてかかれた資料は見当たりませんでした。 最新のサービスパックであれば問題ないととれる内容の資料もあったのですが、曖昧に書かれていて信用できかねるものでした。 ちなみに使用しているコンポーネントは、 Winsock6.0とSysinfo6.0、それとコモンコントロール6.0(SP4)の3つです。 どなたか、事情をご存知の方、またはご経験がある方がいらっしゃいましたら何か教法を教えて頂けないでしょうか? よろしくお願い致します。

専門家に質問してみよう