付録1.Visual Basic 5.0 と 6.0 での共通開発の方法


 ここ (付録1) の見出しの一覧

 移行の手順共通開発の方法


 ここには、Visual Basic 5.0 で開発したアプリケーションソフトウェア資産 (ソースプログラムなど) を Visual Basic 6.0 用のものに移行させる手順、および両方の Visual Basic に対応できるようにする共通開発の方法が書いてあります。なお、Visual Basic 5.0 と MANDALA を併用して開発したソフトウェア資産の移行の手順、および共通開発の方法については、以下に説明があるものと基本的に同じですが、「MANDALA入門コースの手引き」に詳しい説明があります。

 ここでは、Visual Basic 6.0 がインストールされていることを前提にした説明になっています。ですから、まず Visual Basic 6.0 をインストールしてください。この際に、共通開発を目指すのであれば、Visual Basic 5.0 をインストールした OS の上に Visual Basic 6.0 をインストールしないようにしてください (同じ OS の上に無理やりインストールすると Visual Basic 5.0 が正しく動作しなくなると考えられます)。ですから、Visual Basic 5.0 と Visual Basic 6.0 は、別のパソコン (正確には別の OS) にインストールしなければなりません。そして、共通開発を目指すのであれば、両方の Visual Basic から参照できるところにソフトウェア資産を配置することが必要です。

 なお、共通開発を目指さず、以後一切 Visual Basic 5.0 を用いないと決意した場合には、Visual Basic 5.0 がインストールされていたパソコン (OS) に Visual Basic 6.0 をインストールしてもかまいません。この場合は、Visual Basic 5.0 をアンインストールしてから Visual Basic 6.0 をインストールすることをお勧めいたします。


(a) 移行の手順

 以下の手順に従うと、Visual Basic 5.0 で開発したアプリケーションソフトウェア資産を Visual Basic 6.0 用のものに移行させることができます。Visual Basic 5.0 から Visual Basic 6.0 へは、基本的に上位方向の互換性があるので移行作業は極めて簡単です。ですから、取りたてて移行作業と呼ぶような大袈裟な作業ではありません。

 なお、ここで述べる手順は、両方の Visual Basic に対応できるようにする共通開発のための準備作業にもなっています。

 作業を始める前に、次のことを知ると、移行作業の意味がよくご理解いただけると思います。

 Visual Basic 5.0 と Visual Basic 6.0 では、フォームモジュールやコードモジュールの形式が全く同じですから、これらを変換する必要はありません。しかし、プロジェクトファイルの形式が少しばかり変更されています。ですから、移行作業とは Visual Basic 6.0 用のプロジェクトファイルを作り出すことに他なりません。


(1) プロジェクトファイルの変換

 旧プロジェクトを Visual Basic 6.0 で開いてください。この操作をするだけで、旧プロジェクトファイルを新形式に変換することができます。

 ただし、新形式のプロジェクトファイルは、メモリ上に展開されるだけですから、次の保存作業が必要になります。

 

(2) 新プロジェクトファイルの保存

 名前を付けてプロジェクトの保存という指示を与えて新形式のプロジェクトファイルを新たなファイルとして保存してください。新しいプロジェクトファイルの名前は Visual Basic 5.0 用のプロジェクトファイルと同じにして、別のフォルダに保存することをお勧めいたします。

 この操作によって、Visual Basic 6.0 用の新たなプロジェクトファイルを作り出すことができるので、これで移行作業は完了となります。

 

 共通開発を目指す場合の注意事項ですが、新たなプロジェクトファイルは Visual Basic 5.0 用のプロジェクトファイルの上に絶対に上書きしないようにしてください。共通開発を行うには、Visual Basic 5.0 用のプロジェクトファイルと Visual Basic 6.0 用のプロジェクトファイルの二つが必要になります。そして、上書きしてしまうと、Visual Basic 6.0 用のプロジェクトファイルから Visual Basic 5.0 用のプロジェクトファイルを復元することは面倒です。

 なお、上書きさえしなければ、上記の移行作業を行っても、Visual Basic 5.0 用のプロジェクトファイルは、何の変更もされずに残ることになります。

 

 共通開発を目指さず、以後 Visual Basic 5.0 を用いることなどあり得ない場合に限っては、新たなプロジェクトファイルの内容を Visual Basic 5.0 用のプロジェクトファイルの上に上書きしてしまってもかまいません。



(b) 共通開発の方法

 ここには、Visual Basic 5.0 と Visual Basic 6.0 の両方に対応できるようにする共通開発の方法が書いてあります。近未来に、両方の Visual Basic を使わなければならないような事態が少しでも予想される場合には、ソフトウェア資産を両方の Visual Basic に対応したものにするのがよいでしょう。

 Visual Basic 5.0 と Visual Basic 6.0 では、フォームモジュールやコードモジュールの形式が全く同じです。ですから、Visual Basic 5.0 で開発したソースプログラムと Visual Basic 6.0 用のソースプログラムを別々にもつことは効率的ではありません。なぜなら、ソースプログラムを別立てにすると、変更が必要になった際に両方のソースプログラムに対して同じように手を入れなければならなくなるからです。これらを共通のソースソースプログラムにしておけば、変更は一回で済みます。

 

 共通のソースソースプログラムとして管理するには、二つの OS のどちらからも参照できるところにソフトウェア資産を置くことが必要になります。なぜなら、前述のように Visual Basic 5.0 と Visual Basic 6.0 を同じ OS の上にインストールすることはできません (無理にインストールすると Visual Basic 5.0 が正しく動作しなくなると考えられます)。ですから、Visual Basic 5.0 と Visual Basic 6.0 は、別のパソコン (正確には別の OS) にインストールしなければなりません。したがって、Visual Basic 5.0 と Visual Basic 6.0 の両方から使うソフトウェア資産は二つの OS のどちらからも参照できるようにしなければなりません。

 

 このように両方から参照できるようにするには、例えば、ソフトウェア資産を LAN で結ばれたサーバ上のファイルにするのは一法です。あるいはデュアルブートの (二つの OS のどちらを使うのかを OS のロードの際に切り替えられるように設定した) パソコンの上にソフトウェア資産を置くのもよいでしょう。

 

 このような手段を用いて、フォームモジュールやコードモジュールは、二つの Visual Basic のどちらからも参照できるところに置かなければなりません。しかし、プロジェクトファイルについては必ずしもこうする必要はありません。プロジェクトファイルについては、Visual Basic 5.0 用と Visual Basic 6.0 用の二つを別々に用いることになります。






 そして、図のように二つのプロジェクトファイルから共通のフォームモジュールやコードモジュールを指し示す (ポイントする) ようにします (前述の移行の手順に従えば、自然にこうなります)。こうしておけば、一方の Visual Basic で共通のフォームモジュールやコードモジュールに対する変更を行うと (そして保存すると)、もう一方の Visual Basic でそれらを参照したときに変更されたものが見えるようになります。即ち、変更は一回で済むことになります。

 しかし、一方の Visual Basic で、あるプロジェクトにモジュールの追加や削除を行った場合には、もう一方でも同じことを行うことが必要です。プロジェクトファイルは共通化することができないので、これに関する変更は一回では済まずに、それぞれの Visual Basic で行うことが必要だということです。

 

このような共通開発をなさる場合の注意事項ですが、それぞれの Visual Basic で一応テストを行うことをお勧めいたします。こう申しましたが、一方の Visual Basic できちんとテストをなさっておけば、もう一方の Visual Basic ではテストを軽くすませることができると言ってよいかもしれません。

 

 Visual Basic 5.0 と Visual Basic 6.0 とでプログラムの内容を変えなければならないことは、一般にはほとんどありません。しかし、そうしたことが必要になった場合には、条件付きコンパイル機能を活用すればよいでしょう。即ち、以下のようにプログラムを書けばよいでしょう。

 

#If VbVersion = 5 Then

  (Visual Basic 5.0 用のソースプログラムコード)

#ElseIf VbVersion = 6 Then

  (Visual Basic 6.0 用のソースプログラムコード)

#End If

 

 このように条件付きコンパイル機能を使う場合には、VbVersion の指定を各プロジェクトごとに行ってください。即ち、プロジェクトプロパティというダイアログボックスの実行可能ファイルの作成というタブの中の条件付きコンパイル引数(D): として VbVersion = 5 または VbVersion = 6 と指定してください。因みに、この指定情報は Visual Basic 5.0 用と 6.0 用のそれぞれのプロジェクトファイルに格納されます。




eee, SSS/Win, RRR は、ウッドランド株式会社から販売されている製品です。
MANDALA は、アプリテック株式会社の商標として登録の申請を済ませています。
Visual Basic, Windows, Windows NT, ActiveX は、米国マイクロソフト社の商標です。
(ME00V652)




Copyright (C) 1995-2000 By AppliTech, Inc. All Rights Reserved.