掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
通知先が2カ所以上あるような複数イベントの処理 (ID:13651)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
jokさん、にしのさん、ご教授ありがとうございます。 色々なプログラムでデータの構造化を考えたとき、どうしても複数通知処理で 悩んでしまうのです。 これが同じユニット内で上下関係があるクラスの場合は上位に渡したり、 さらに下位に投げたりとできるのですが、上下関係が無いクラスの場合に どのようにすればよいのかと困っているところです。 参照に関してですが、ここでいうClassAはグローバルデータですので interface部にて var GDClassA : TClassA; と定義してあり、またusesは自身が使用するクラス以外は記述しない ことで独立性を高めています。 またFormA,FormBはグローバルデータを参照するに過ぎないので implementation部にusesとして参照宣言しているといったイメージです。 jokさんのサンプルであるTListで管理するという発想は思いつきませんでした 参考になります。 これをあと少し拡張したいので、引き続きご教授願えますか? というのは、一番最初のサンプルでClassAに対してFormA,FormBさらに OnChangeイベントと言いましたが、実際にはClassAのように複数通知先を持ちたい クラスClassBも存在します。 それだけなら今TPersistentからClassAを作っているのでTPersistentを継承し TPersistentExなどとしてこのクラスに procedure AddNotifyEvent(ne:TNotifyEvent); を実装しておけば、ClassA、ClassBともにTPersistentExから継承することで 各クラスにソースを書く必要が無くなりますよね? しかし今度はOnChangeイベントの他にたとえば初期化を通知するイベント OnRefreshを作ろうとしたときややっこしくなりそうです。 そのときの方法として 「複数のイベント通知を管理するTListをさらに用意しイベントを2次元管理する。」 という方法が楽かと思ったのですが 「イベントを通知するという処理を1つのクラスにする。」 とした方が後々楽になりそうな気もするのですがどうでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.