第3章 Visual Basic 6.0 による開発の成果物
この節 (3.3) の見出しの一覧
exe (実行可能プログラム) とは/exe の名前 (実行可能プログラム名)/exe でのデバッグ/exe ファイル (実行可能プログラムファイル) に関する操作
ここでは、開発の成果物である exe (実行可能プログラム) について、ソフトウェア資産という観点から調べます。そして、その後でこれに関する操作方法をマスタすることを目指します。
exe (実行可能プログラム) は、プロジェクトファイルとそのプロジェクトを構成する全ての基本モジュール (フォームモジュールおよびコードモジュール) を特定の形式で集約したファイルであり、主にアプリケーションプログラムを配付する際に用いるものです。
ただし、OCX (カスタムコントロールモジュール) および DLL (ダイナミックリンクライブラリ) は exe ファイルの中に集約されません。したがって、配付に際しては、これらのファイルを exe に添付することが必要です。
--- 以前に、カスタムコントロールモジュールとはフォームモジュールでもコードモジュールでもない言わば第三のモジュールであるとの説明をしましたが、これらのファイルはexe ファイルへの集約に関して、基本モジュールとは異なる扱いになっていることに注意してください。---
exe というファイル (実行可能プログラムファイル) があるので、アプリケーションプログラムを配付する際に、次の点が有利になっています。
もしも、幾つかのモジュールから構成されるプロジェクトをそのままの形で配付するものとすると、数多くのファイルを配付しなければならなくなります。プロジェクトファイルとそのプロジェクトを構成する全ての基本モジュールをコピーしなければならないわけです。そして、このプロジェクトを実行させるパソコンの一台一台に Visual Basic をインストールすることが必要になります。
他方、exe ファイルを作って配付する方式は、プロジェクトファイルとそのプロジェクトを構成する全ての基本モジュールが一つのファイルに集約されますから、第一に取扱いやすさという点で優ります。そして、第二にプロジェクトを実行させるために、Visual Basic をインストールしておく必要はなくなります。ただし、VB6StKit.dll、Msvbvm60.dll、VB6jp.dll などの DLL が必要になりますから、これらを再頒布する際の条件をよく読んで確認の上、一緒に配付してください。
なお、MANDALA を用いて開発したアプリケーションプログラムについては、Ae_Sup32.dll という DLL が必要になりますから、これを再頒布する権利を取得の上、それぞれのパソコンにインストールする必要があります。
exe の名前、即ち exe 名 (実行可能プログラム名) としては、exe (実行可能プログラム) のファイル名を代用します。
exe (実行可能プログラム) のファイル名には、ソフトウェア資産の種類が一目で分かるように exe という拡張子を付けるのが習わしです。例えば、Jutyu.exe というような名前を付けます。因みに、exe は Executable (実行可能) に由来します。そして、exe は exe というソフトウェア資産の種類を表す名前にもなっています。
短い名前が必要な場合は、ピリオドと拡張子を除いた名前 (上の例の場合には Jutyu) を exe 名 (実行可能プログラム名) として用いることがあります。
exe (実行可能プログラム) は、プログラムのデバッグが終わった後に、それを配付するために作成するのが普通です。ところが、これ以外にも、プログラムをデバッグするために exe ファイルを作成する場合があります。これは、exe を実行させることはできるのに、Visual Basic のインタープリタのもとでは実行させることができない (開始の指示を与えるとエラーになる) ような場合です。
具体的には、一つのフォームに数多くのコントロールを張り付けると、インタープリタのもとで実行させることができなくなることがあります。例えば 「メモリが不足です」 というエラーメッセージが出現して、先に進まなくなることがあります。こうなった場合には、exe ファイルを作成してそれをデバッグするしかありません。そして、このデバッグ作業が普段よりも時間がかかり、面倒であることを体験すると、Visual Basic のインタープリタを用いたデバッグがいかに便利であったのか、そのありがたみを知ることになるでしょう。
なお、通常の場合も、インタープリタのもとでデバッグを終えた後には、exe ファイルを作成して最終段階の確認テストをすることが必要です。
(d) exe ファイル (実行可能プログラムファイル) に関する操作
exe ファイル (実行可能プログラムファイル) を作成するには、exe ファイルを作成しようとするプロジェクトがカレントプロジェクトになっていることをまず確認してください。こうなっていないときには、そのプロジェクトを開いてカレントプロジェクトにください。なお、作成済のプロジェクトを開く操作については、「3.1.2.2 作成済のプロジェクトファイルに関する操作」 を参照してください。
そして、メインウィンドウのファイル(F) というメニュータイトルを開いて、その中の … の作成(K)... というメニュー項目をクリックしてください。
この指示を与えると、以下に示す実行可能ファイルの作成というダイアログボックスが登場します。
ここで、ファイルの格納先のフォルダ (ディレクトリ) とファイル名とを指定してから OK というボタンをクリックしてください。こうすると exe ファイルを作成することができます。
これ以前にこの exe ファイルを作成していれば、そのパス情報、即ちフォルダ (ディレクトリ) 名とファイル名がダイアログボックスの中に残っています。ですから、同じ名前のファイルに上書き保存する場合には、何も設定せずにそのまま OK というボタンをクリックすればよいようになっています。
ところで、OK というボタンをクリックする前に、実行可能ファイルの作成というダイアログボックスの中のオプション(O)... というボタンをクリックすると、以下に示すプロジェクトプロパティというダイアログボックスが登場して種々のオプションを設定することができます。
例えば、タイトルの指定をすることができます。即ち、タイトル(T) 欄は、このアプリケーションプログラムが MsgBox 関数などで表示するダイアログボックスのタイトルの部分に記載される文字列のデフォルト値 (規定値) を指定するものです。
また、[スタート]メニューの中に表示されるアイコンの選択をすることができます。
--- 各フォームは、その左上端に表示されるアイコンをもっています。このアイコンは、フォームが最小化されたときにタスクバーの中のボタンの左端に表示されるアイコンでもあります。なお、このアイコン(各フォームのアイコン) は、プロパティウィンドウによってIcon というプロパティを設定することで指定できます。---
複数のフォームから構成されるプロジェクトの場合、どのフォームのアイコンをプロジェクト代表にするのかが問題になります。即ち、[スタート]メニューの中に表示されるプロジェクト代表アイコンを決めなければなりません。この決定は、アイコン(O) という欄で、フォームの一つを指名することによって行います。こうすると、指名されたフォームのアイコンがプロジェクト代表になります。
以上は、実行可能ファイルの作成の際に種々のオプションを設定する操作方法でしたが、それ以前にこれらのオプションを設定しておくこともできます。
あらかじめ実行可能ファイルの種々のオプションを設定しておくには、メインウィンドウのプロジェクト(P) というメニュータイトルを開いて、その中の … のプロパティ(E)... というメニュー項目をクリックしてください。
この指示を与えると 3.1.2.3 (b) スタートアップフォームの確認と設定・変更 のところに示したプロジェクトプロパティという (前述したものと同名の) ダイアログボックス (以下) が登場します。
このダイアログボックスには、4つタブ全般、実行可能ファイルの作成、コンパイル、コンポーネントがあります。前述した同名のダイアログボックスには、2つタブ実行可能ファイルの作成、コンパイルしかない点が異なりますが、この2つの共通のタブに関する操作は同じです。
このダイアログボックスの実行可能ファイルの作成というタブを開くと、タイトルの指定やプロジェクト代表アイコンの選択をすることができます。
プロジェクトプロパティを設定するためのどちらのダイアログボックスにおいても、コンパイルというタブを開くと、コンパイルオプションの指定をすることができます。
即ち、Visual Basic 5.0 からサポートされたネーティブコードコンパイルを採用するのか、従来と同様にインタープリタ実行させるための P-Code コンパイル (Pseudo Code; 擬似コード) を採用するのかを選択できます。
コンパイルオプションとして ネーティブコードコンパイルを選択した場合には、最適化オプション (実行速度を重視するのか、または exe サイズを小さくすることを重視するのかなど) を指定できます。そして、CPU を使い続けるようなプログラムについては、実行速度を向上させる働きをします。しかし、ファイルやデータベースのアクセスが多いプログラムについては、ほとんど実行速度の向上は期待できません。
コンパイルオプションとして P-Code コンパイルの指定をすると、従来と同様のコンパイルがなされます。この指定の場合、Visual Basic 6.0 では exe サイズを小さくする工夫がなされていて、ほとんどのプログラムにおいて Visual Basic 4.0 よりも小さな exe サイズになることが確認されています。例えばこれは、リモートメンテナンスを行う際のネットワークの負荷を軽減するというような効果があります。
--- ところで、数多くのプロジェクトの中に入っている共通ライブラリモジュールを変更した場合には、その全てのプロジェクトに対してexe ファイルの再作成が必要になります。これを手操作で一つ一つ行うのは、生産的とはいえません。こんなときには、MANDALAバッチを活用してください。
MANDALAバッチは、Visual Basic による実行可能ファイルの作成の処理を一つ一つ手操作で指示しなくてもよいようにします。更に、MANDALA を用いた開発においては、機械生成の処理を一つ一つ手操作で指示しなくてもよいようにします。---