FireMonkey-Plattformdienste
Nach oben zu FireMonkey-Anwendungshandbuch
Ein Plattformdienst ist ein FireMonkey-Interface, das Funktionen definiert, die in eine bestimmte Laufzeitplattform implementiert oder nicht implementiert sein können.
FireMonkey implementiert viele Plattformdienste, und Sie können eigene Plattformdienste implementieren.
Inhaltsverzeichnis
Verwenden eines Plattformdienstes
Zum Verwenden eines Plattformdienstes müssen Sie:
- Ihrer Unit eine Referenz zu der Unit hinzufügen, in der Ihr Dienst deklariert ist, wie z. B. FMX.Platform.
- TPlatformServices.SupportsPlatformService mit dem Zielplattformdienst als Parameter aufrufen, um festzulegen, ob der angegebene Plattformdienst zur Laufzeit unterstützt wird oder nicht.
- Wenn
SupportsPlatformService
True
zurückgibt, greifen Sie mit TPlatformServices.GetPlatformService auf den eigentlichen Plattformdienst zu und wandeln den Typ des zurückgegebenen Dienstes entsprechend um. Alternativ können Sie den Dienst auch mitSupportsPlatformService
abrufen.
So greifen Sie beispielsweise auf den Zwischenablagedienst (IFMXExtendedClipboardService) zu:
Delphi:
var
ClipboardService: IFMXExtendedClipboardService;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXExtendedClipboardService, ClipboardService) then
begin
// …
end;
end;
C++:
_di_IFMXClipboardService ClipboardService;
if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXClipboardService), ClipboardService)) {
// …
}
Integrierte Plattformdienste
Registrieren und Deregistrieren von Plattformdiensten
Sie können mit TPlatformServices.AddPlatformService und TPlatformServices.RemovePlatformService Plattformdienste registrieren bzw. deren Registrierung aufheben.
Beispielsweise können Sie einen der integrierten Plattformdienste deregistrieren und ihn durch eine neue, auf Ihre Anforderungen zugeschnittene Implementierung ersetzen.