Top / クラスプログラミング / 07.動的にイベント処理を置き換える

あるフォームを、2つのプログラムで共用したい場合があるとします。 コマンドボタンを押したら、片方のプログラムでは、足し算の処理、もう一方のプログラムでは、掛け算の処理を行いたいといった場合、クラスモジュールを利用することで、動的に処理を振り分けることができます。

Form1

Option Explicit
Public objExecute As Object
Private Sub Command1_Click()
    objExecute.Value1 = Val(Text1.Text)
    objExecute.Value2 = Val(Text2.Text)
    objExecute.Exec
    MsgBox objExecute.Result
End Sub

  Class1

Option Explicit
Public Value1 As Double
Public Value2 As Double
Public Result As Double
Public Sub Exec()
    Result = Value1 + Value2
End Sub

  Class2

Option Explicit
Public Value1 As Double
Public Value2 As Double
Public Result As Double
Public Sub Exec()
    Result = Value1 * Value2
End Sub

以上の部品を用意したら、あとは、次のようにすることで、処理を振り分けられます。

Project1

Sub Main()
    Load Form1
    Set Form1.objExecute = New Class1
    Form1.Show
End Sub

Project2

Sub Main()
    Load Form1
    Set Form1.objExecute = New Class2
    Form1.Show
End Sub

05.Implementsを使うとさらに良し、です。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-10-27 (火) 02:36:30 (2972d)