掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
他のオブジェクトの変更を知りたい (ID:22248)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> メッセージを送れば これが通用するのは、ウインドウハンドルを持っているコンポーネント・・・ 基本的に、TWinControlから継承されたコンポーネントだけです。 > TQueryが変更になるとTDBGridの表示が更新されるみたいな > コンポーネントが作りたいのですが 抽象的すぎて意味不明。 (1)プロパティ値が変更になったとき、ソレを検出したいのか、 (2)TQueryを参照しているクラスが、別のTQueryに変更されたときを検出されたのかわからない。 で、ソースを見ると、基本的なところが理解不足と見受けられる。 ここらあたりで、クラス型のプロパティについて学習したほうが望ましいです。 https://www.petitmonte.com/bbs/answers?question_id=4034 https://www.petitmonte.com/bbs/answers?question_id=3939 > property hoge: TSendHoge read SendHoge write SendHoge; これがいけません。 ちなみに、(1)を実現したいのであれば、以下のようにしたほうがいい。 (宣言等細かいコトは省略) property hoge: TSendHoge read GetSendHoge write SetSendHoge; function GetSendHoge:TSendHoge; begin Result := SendHoge; end; procedure SetSendHoge(AValue: TSendHoge); begin //通常、このメソッドを継承し、必要なプロパティをコピります。 //procedure Assign(Source: TPersistent); override; SendHoge.Assign(AValue); //Assignを継承しない場合は、プロパティ個別に更新 SendHoge.Data := AValue.Data; end; クラスは、IntegerやStringのように、単純な代入で中身がコピーされたりしません。 https://www.petitmonte.com/bbs/answers?question_id=4034 ここの最後のレス参照。 アクセス違反に悩まされて挫折する前に、基本たたき込むべし。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.