Hilfe in Anwendungen aktivieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Anwendungen, Komponenten und Bibliotheken erstellen - Index

Hinweis: Fast alle in diesem Abschnitt beschriebenen Hilfefunktionen, können sowohl in Delphi- als auch in C++-Anwendungen auf fast dieselbe Weise verwendet werden.

VCL-Anwendungen unterstützen die Anzeige von Hilfe über einen objektbasierten Mechanismus, der die Weitergabe von Hilfeanforderungen an einen der zahlreichen externen Hilfe-Viewern ermöglicht. Dazu muss eine Anwendung eine Klasse beinhalten, die das Interface System.HelpIntfs.ICustomHelpViewer implementiert (und optional eines der davon abgeleiteten Interfaces, Hilfesystem-Interfaces) und sich selbst beim globalen Hilfe-Manager registriert.

Die VCL-Bibliothek enthält die Unit Vcl.HtmlHelpViewer. Im implementation-Abschnitt dieser Unit ist die interne Klasse THTMLHelpViewer definiert, die all diese Interfaces implementiert und eine Verknüpfung zwischen den Anwendungen und dem HTMLHelp-Windows-Hilfe-Viewer bereitstellt. (Informationen zur Funktion HTMLHelp finden Sie in der MSDN-Bibliothek.) Im initialization-Abschnitt der Unit Vcl.HtmlHelpViewer wird die Instanz der Klasse THTMLHelpViewer erstellt:

 HelpViewer := THTMLHelpViewer.Create;
 HelpIntfs.RegisterViewer(HelpViewerIntf, HelpViewer.FHelpManager);

Hier erstellt der Konstruktor THTMLHelpViewer.Create intern das Hilfe-Viewer-Objekt HelpViewerIntf der Klasse THTMLHelpViewer. Der zweite Aufruf übergibt das Hilfe-Viewer-Objekt an die globale Funktion System.HelpIntfs.RegisterViewer, die den erstellten Hilfe-Viewer registriert und den Hilfe-Manager HelpViewer.FHelpManager zurückgibt. Die globale Funktion System.HelpIntfs.GetHelpSystem kann aus anderen Units für den Zugriff auf Hilfemethoden des registrierten Hilfe-Viewers aufgerufen werden. Auf diese Weise können Sie auf Implementierungen aller in dem Interface System.HelpIntfs.ICustomHelpViewer (und in anderen Interfaces von HelpIntfs) deklarierten und in der Klasse THTMLHelpViewer implementierten Methoden zugreifen.

Delphi- und C++-Anforderung

  • Wenn Sie den HTMLHelp-Hilfe-Viewer in Ihren Delphi-Anwendungen einsetzen möchten, dann müssen Sie die Unit Vcl.HtmlHelpViewer in die uses-Klausel Ihrer Anwendung einfügen.
  • In C++-Anwendungen müssen Sie die Direktive #include Vcl.HtmlHelpViewer.hpp hinzufügen.

Der Hilfe-Manager verwaltet eine Liste registrierter Viewer und leitet Anforderungen in einem zweistufigen Verfahren an diese weiter: Zuerst wird jeder registrierte Hilfe-Viewer hinsichtlich der Unterstützung des betreffenden Hilfeschlüsselworts oder der Hilfekontext-ID abgefragt, und dann wird die Hilfeanforderung an den Hilfe-Viewer zur Bereitstellung dieser Unterstützung weitergeleitet.

Themen