System.TObject.Dispatch
Delphi
procedure Dispatch(var Message); virtual;
C++
virtual void __fastcall Dispatch(void *Message);
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | System.pas systobj.h |
System | TObject |
Beschreibung
Ruft auf der Grundlage des Parameters Message Methoden zur Botschaftsverarbeitung auf.
Mit Dispatch werden Botschaften automatisch an die geeignete Botschaftsbehandlungsroutine übergeben.
Dispatch ermittelt, ob für eine Botschaft in der objekteigenen Liste die entsprechende Behandlungsroutine existiert. Ist dies nicht der Fall, untersucht Dispatch die Liste des Vorfahren untersucht. Wenn auch sie keine Behandlungsroutine enthält, wird der nächste Vorfahr untersucht usw. Dieser Vorgang wird erst beendet, wenn eine geeignete Behandlungsroutine gefunden wird oder die oberste Ebene der Hierarchie erreicht ist. In letzterem Fall wird DefaultHandler aufgerufen.
Die einzige Voraussetzung für Dispatch ist, dass die ersten beiden Bytes in Message eine Botschafts-ID enthalten. Diese ID ist ein Integerwert, der die Botschaftsbehandlungsroutine angibt, die Dispatch aufruft. Obwohl grundsätzlich jede Art von Daten an Dispatch übergeben werden kann, empfiehlt sich doch die Verwendung eines Botschafts-Records wie beispielsweise TMessage oder eines speziellen Datenstrukturtyps.
Siehe auch
Codebeispiele