Verwenden von Botschaften
Nach oben zu Komponentenentwicklung - Index
In der Anwendungsentwicklung sind Botschaften ein Mechanismus für die Kommunikation zwischen Prozessen.
In Ihrer Anwendung können Botschaften von:
- Dem System, das Ihre Anwendung über Benutzereingaben, Zeichenphasen und andere systemweite Ereignisse informiert, stammen.
- Ihrer Anwendung stammen. Verschiedene Teile Ihrer Anwendung kommunizieren über Botschaften miteinander.
Inhaltsverzeichnis
Situationen für die Verwendung von Botschaften
Beim Schreiben einer Anwendung behandeln Sie normalerweise Ereignisse und keine Botschaften. Komponenten veröffentlichen Ereignisse, die Sie behandeln können, und sie verwenden Botschaften nur intern (transparent für Sie), um mit anderen Komponenten zu kommunizieren und Systembotschaften zu behandeln.
Sie können aber Botschaften verwenden, wenn:
- Ihre Anwendung auf eine System- oder Framework-Botschaft antworten muss, die nicht von einem Ereignis bereitgestellt wird.
- Sie eine benutzerdefinierte Komponente erstellen. Komponenten kommunizieren über Botschaften miteinander.
- Sie eine Multithread-Anwendung erstellen. Verschiedene Threads kommunizieren eventuell über Botschaften miteinander.
Auswählen einer Botschaftslösung
Für RAD Studio-Projekte gibt es zwei verschiedene Botschaftslösungen, die Sie verwenden können. Wenn es sich bei Ihrem Projekt um eine Anwendung handelt, wählen Sie normalerweise die Botschaftslösung des Frameworks Ihrer Anwendung:
- FireMonkey-Anwendungen, für die eine plattformübergreifende Botschaftslösung erforderlich ist, verwenden die RTL.
- VCL-Anwendungen basieren auf der Windows-API-Botschaftsbehandlung.
Wenn Sie eine benutzerdefinierte Komponente schreiben, können Sie das plattformübergreifende RTL-Botschaftssystem verwenden, ungeachtet des von Ihrer Komponente verwendeten Frameworks (FireMonkey oder VCL). Die Verwendung der Windows-API-Botschaftslösung für VCL-Komponenten ist jedoch ratsamer, da vorhandene VCL-Komponenten nur Botschaften über die Windows-API empfangen und senden und das VCL-Framework keine Windows-API-Botschaften in plattformübergreifende Botschaften übersetzt, wie dies in FireMonkey erfolgt.
Themen
- Verwenden der plattformübergreifenden RTL-Botschaftslösung
- Verwenden der Windows-API-Botschaftslösung