System.TObject.Dispatch
Delphi
procedure Dispatch(var Message); virtual;
C++
virtual void __fastcall Dispatch(void *Message);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.pas systobj.h |
System | TObject |
説明
Message パラメータの内容に基づいてオブジェクトのメッセージ処理メソッドを呼び出します。
Dispatch メソッドを呼び出すと,メッセージが適切なメッセージハンドラに自動的に渡されます。
Dispatch メソッドを使用すると,メッセージがオブジェクトで宣言されているメッセージハンドラのリストにあるかどうかがわかります。メッセージがそのオブジェクトで処理されない場合,Dispatch メソッドはハンドラが見つかるまで,または上位オブジェクトのクラスがなくなるまで,その上位のオブジェクトクラスのメッセージハンドラリストを調べます。上位オブジェクト型がなくなってもメッセージハンドラが見つからない場合は DefaultHandler メソッドを呼び出します。
Message 内のデータについて Dispatch メソッドが行う唯一の仮定は,最初の 2 バイトにメッセージ ID が入っていることです。メッセージ ID は,Dispatch メソッドがメッセージを処理するために呼び出すメッセージハンドラを示す整数型の数値です。どのような種類のデータも Dispatch メソッドに渡すことができますが,ほとんどの TObject の下位オブジェクトでは,TMessage のようなメッセージコード,または指定のデータ構造型を受け取ることを前提としています。