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をコピーする。