プロジェクトマネージャーのタブの右側にある、モデルビュータブをクリックします。このとき、モデリング用に設定されていないため、モデリングサポートを適用するか問い合わせるダイアログが表示されます(下図)。「はい」をクリックしてモデリングをサポートさせます。
モデルビューが構築されます。モデルビューのツリー構造をたどって Unit_calcのノードを選択し、ダブルクリックします。
Unit_calcのモデルビューが開きます。空のユニットのため、Globalsしかありません。
[やりたいこと] LiveSource機能を用いて、UMLからプログラムを設計してみます。ここでは、Input1 Input2 の2つのプロパティに入力された値を足し、Resultプロパティに代入するクラスを作成します。計算は、Calcメソッドが呼び出された時点で実行される仕様にします。
クラスの中にフィールドが追加されました。フィールドはいわゆる変数ですので、名前と型を設定する必要があります。ここではValue1:integer としました。
クラス名がClass1のままですので、クラス名も変更します。Class1の文字の部分で左クリックすると編集できるようになります。クラス名を TSimpleCalcに変えました。このときの状態が下の図です。
続いてプロパティを作成します。ポップアップメニューの「追加」「プロパティ」をクリックします。
Input1 Input2 Result プロパティを作成しました。
Calcメソッドに説明をつけてみましょう。Calcメソッドを選択して、オブジェクトインスペクタのプロパティの「意味」の欄に説明を書いてみました。
では、コード画面に移ってみましょう。Unit_Calcのコードを開きます。UMLのクラス図のとおりにコードが出来上がっています。また、Calcメソッドには、先ほど書き足した説明がコメントとして挿入されていることも確認できます。
あとはメソッド内部を実装するだけです。Calcメソッドを実装します。
各プロパティのGet Setメソッドを実装します。
Resultプロパティは読み込み専用プロパティにしたいので、Setメソッドは取ってしまいます。
Property 宣言側も修正します。
以上でクラスが完成しました。モデル図は下図のとおりになります。
メインフォーム側で、今作成したTSimpleCalcを呼び出すコードを書いてみます。
アプリケーションを実行して、実際に動くか確認してみます。良いようです。
簡単なクラス作成を例にしてLiveSource機能を使ってみましたが、よくできていると思いました。読み込み専用プロパティの設定がUML図側からできないことや、プロパティが常にGet Setメソッドを持ってしまうといった仕様はありますが、面白いように図とコードが連動してくれます。"先に設計をまとめてしてしまい、後から実装部分をコーディングする"といった場合や"クラス設計図だけ書いて実装を丸投げしたい"という場合には、かなり役に立つのではないでしょうか。