Delphi相談室その3
■ このスレッドは過去ログ倉庫に格納されています
0643デフォルトの名無しさん
NGNGコンポを貼り付けて実現するなら サブクラスしかないと思うよ
とりあえずサブクラスコンポ作るなら2CH式規約を守ろう
http://piza2.2ch.net/tech/kako/999/999482946.html
------------- コピペ -------------------------------------------
935 名前:デフォルトの名無しさん 投稿日:01/09/21 10:39
再度 サブクラス解放についてのまとめ >>コンポーネント作家の方々へ
サブクラスを利用するコンポーネントは以下の手順で解放する事
var WM_DetachProc:Cardinal; をローカル変数として定義し
コンポーネントの初期化部で
initialization
WM_DetachProc := RegisterWindowMessage('WM_SubclassFreeNotify');
end.
とする。
サブクラス解放時にはこのメッセージIDで
WParam,LParam はユニークな値を入れて サブクラス先に送信する
それを受信したWindowProcでは、
この2つの値で送信者が自分かどうか判断し
自分でなければリンクを解放して下位にメッセージを送り
メッセージが帰って来たらリンクを再接続する
送信者が自分ならリンクの解放だけを行う
VCL上のサブクラス取り外し
WParam で selfが渡される WParam = LongInt(self)
LParamは無視してよい サンプルコード >>922
Win上のサブクラス取り外し
LParamでプロセスID
WParamはプロセス内ユニークな値(メソッドアドレス等それぞれのプロセスで管理)
注意: WM_DetachProc は定数ではないので case では使えない ifで判断する事
■ このスレッドは過去ログ倉庫に格納されています