4.分散しているパーツを一つのVBBにまとめる方法
第5章「アクションの利用方法」で作成した数学に必要なパーツを、
フォルダ名VBBの下のフォルダ名Mathematicsに集める。
1.エクスプローラ等でフォルダ名VBBの下にフォルダ名Mathematicsを作成する。
2.第2章「プロジェクトの作り方」を参照して、Math.iwpとMath.iwoを作成する。
他のファイルは削除する。
3.ビジュアル・ビルダーを起動する。
4.「ファイル」->「ロード」をクリックし、one.vbbをロードする。
5.非ビジュアル・パーツのAddをクリック(選択)し、「パーツ」->「コピー」を
クリックする。
6.「パーツ−コピー」ダイアログで、ターゲット・パーツ名をAdd1に変更し、
ターゲット・ファイル名をMath.vbbとする。
7.「コピー」をクリックする。
8.Math.vbbが作成され、非ビジュアル・パーツにAdd1が作成されている。
Add1をクリック(選択)し、「パーツ」->「名前変更」をクリックする。
9.ロードされたパーツ・ファイルのone.vbbをクリック(選択)し、
「ファイル」->「アンロード」をクリックする。
10.「ファイル−アンロード」ダイアログで、「アンロード」をクリックする。
11.非ビジュアル・パーツのAdd1をクリック(選択)し、「パーツ」->「名前変更」
をクリックする。
注)非ビジュアル・パーツにAdd1が表示されていないときは、ロードされた
パーツ・ファイルのMath.vbbをクリック(選択)する。
12.「パーツ−名前変更」ダイアログの新しいパーツ名をAddに変更し、
「名前変更」をクリックする。
13.フォルダ名Mathematicsに、Add.cpvとAdd.hpvをコピーする。
以上で、パーツAddをMath.vbbにコピーできた。
14.同様にして、ファイル名parameter.vbbのパーツArithをファイル名Math.vbbに
コピーする。
15.フォルダ名Mathematicsに、Arith.cpvとArith.hpvをコピーする。
16.このままのArith.cpvでは割る数がゼロでも除算を行うので、下記のように
例外処理を行うコードを記入する。
double Arith::calc(IString s)
{
double result;
if( s=="+" ) result = iNum1 + iNum2;
if( s=="-" ) result = iNum1 - iNum2;
if( s=="*" ) result = iNum1 * iNum2;
if( s=="/" )
{
if( iNum2 == 0.0 ) // 例外処理
{
IString errorText = IString( "割る数がゼロです。" );
IException exc( errorText, 0, IException::unrecoverable );
ITHROW( exc );
} // 例外処理終了
result = iNum1 / iNum2;
}
return result;
}
17.ファイル名moreTwo.vbbのパーツQuadをファイル名Math.vbbにコピーする。
18.フォルダ名Mathematicsに、Quad.cpvとQuad.hpvをコピーする。