掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
他のオブジェクトの変更を知りたい (ID:22250)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
返答ありがとうございます。 >>(1)プロパティ値が変更になったとき、ソレを検出したいのか これがやりたいことです。 データを管理しているクラス(TSendHoge)があり、そのデータを表示するクラス(TGetHoge)を作る。 TSendHogeで値の変更があれば、TGetHogeではそれを検知して表示を更新する。 たとえば、生徒の成績データを管理しているTSendHogeがあれば グラフを表示するTGetHogeであったり 個人別のデータを表示するTGetHogeであったり TSendHoge(1)-(*)TGetHogeの関係のクラスを作成したいと思っていました。 提示していただいたサンプルではTSendHoge側でTGetHogeを管理しないといけないため、 TGetHogeのようなものを追加するたびにTSendHogeを修正しなくてはいけないと思いました。 TSendHoge側はデータの管理のみで、表示については考えないようにはできないか そこでTQueryを考えるとTDBGridで表示している内容をTQueryでは管理していないので 何らかの方法でTQueryの更新をTDBGridで検知している考えました。 で、その方法がメッセージを送っているのではないかと考え質問しました。 データの管理と表示を分けたクラスを作りたいのですが どこら辺から間違っているのでしょうか(始めから?) 正直、メッセージで処理するという考えも、オブジェクト間の通信はメッセージというのを どこかで見たから思いついただけですし、メッセージを使ったのも始めてです。 >>procedure SetSendHoge(AValue: TSendHoge); >>begin >> //通常、このメソッドを継承し、必要なプロパティをコピります。 >> //procedure Assign(Source: TPersistent); override; >> SendHoge.Assign(AValue); >> //Assignを継承しない場合は、プロパティ個別に更新 >> SendHoge.Data := AValue.Data; >>end; ここの部分でエラーが出てうまくいきませんでした。 このメソッドを継承し、必要なプロパティをコピります。 は何を指すのでしょうか >>Delphiでオブジェクト指向を学ぶともっと素直に理解できるのに... じつは、Delphi一本なんです・・・
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.