タイトル | : 標準モジュールとクラスモジュール |
記事No | : 15154 |
投稿日 | : 2011/04/08(Fri) 15:10 |
投稿者 | : レイ |
初めて投稿させて頂きます。 急ぎの内容では御座いませんのでお時間がある際に御回答いただければと思います。 なお、間違い、勘違いなどありましたらご指摘頂けると幸いです。
現在、組み込み製品の試験プログラムを作成しており、 その一部としてメッセージを表示するプログラムを作成しております。 ・メッセージ内容一覧 ・プログラムの終了問合せ ・エラーメッセージ ・注意メッセージ ・問合せメッセージ ・その他メッセージ
これらのメッセージを表示する方法として以下の2種類を検討しております。 1.標準モジュールにプロージャを記載。 2.クラスモジュールに記載。
「オブジェクト指向」の観点から、どちらの方法で実装するのが良いのでしょうか? また、他の方法が良いなどありましたらご教示頂けますようお願い致します。
使用環境 WindowsXP SP3 VB6.0 プログラマ暦 4年
実際に使用していますコードを以下に記載します。 なお、注意、問合せについてはエラーとほぼ同様のため省略させて頂きました。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1.標準モジュール版
'----------プログラム終了メッセージ---------- Function ProgramEnd() As Integer Dim Msg1 As String 'メッセージタイトル Dim Msg2 As String 'メッセージ内容 Msg1 = "プログラムの終了" Msg2 = "終了しますか?" ProgramEnd = MsgBox(Msg2, vbQuestion Or vbOKCancel, Msg1) End Function
'----------エラーメッセージ---------- Sub ErrorMessage() Dim Msg1 As String 'メッセージタイトル Dim Msg2 As String 'メッセージ内容 Msg1 = "Error" Msg2 = "エラーが発生しました。" & vbCrLf & "内容:" & Err.Description MsgBox Msg2, vbCritical, Msg1 End Sub
'----------その他メッセージ---------- Sub OtherMessage(ByVal MsgData1 As String, ByVal MsgData2 As String, ByVal MsgType As Integer) MsgBox MsgData2, MsgType, MsgData1 End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 2.クラスモジュール版
'メッセージ構造体 Private Type Msg Prompt As String Title As String Buttons As Long End Type
Private ProEndMsg As Msg 'プログラム終了メッセージ Private ErrMsg As Msg 'エラーメッセージ Private ExcMsg As Msg '注意メッセージ Private QueMsg As Msg '問合せメッセージ
'----------クラス初期化---------- Private Sub Class_Initialize()
ProEndMsg.Prompt = "終了しますか?" 'プログラム終了メッセージ:内容 ProEndMsg.Title = "プログラムの終了" 'プログラム終了メッセージ:タイトル ProEndMsg.Buttons = vbQuestion Or vbOKCancel 'プログラム終了メッセージ:ボタン、アイコン ErrMsg.Prompt = "エラーが発生しました。" & vbCrLf & "内容:" 'エラーメッセージ:タイトル ErrMsg.Title = "Error" 'エラーメッセージ:タイトル ErrMsg.Buttons = vbCritical 'エラーメッセージ:アイコン
End Sub
'----------プログラム終了メッセージ---------- Function ProgramEnd() As Integer ProgramEnd = MsgBox(ProEndMsg.Prompt, ProEndMsg.Buttons, ProEndMsg.Title) End Function
'----------エラーメッセージ---------- Sub ErrorMessage(ByVal ErrDescription As String) MsgBox ErrMsg.Prompt & ErrDescription, ErrMsg.Buttons, ErrMsg.Title End Sub
'----------その他メッセージ---------- Sub OtherMessage(ByVal MsgPrompt As String, ByVal MsgTitle As String, Optional ByVal Buttons As Long) MsgBox MsgPrompt, Buttons, MsgTitle End Sub
※本来であれば以下のようにすべきだと思うのですが、VB6.0では継承が出来ないので クラスモジュールにメソッドとして実装しています。 メッセージクラス------------スーパークラス プログラム終了------サブクラス エラー--------------サブクラス 注意----------------サブクラス 問合せ--------------サブクラス その他--------------サブクラス
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
|