Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.419 Beiträge
 
Delphi 7 Professional
 
#9

AW: Chm help in PerMonitorDPI V2

  Alt 23. Sep 2020, 13:04
CHM enthält HTML.

EPub enthält HTML.

Da muss man schonmal nicht viel "ummodeln".

Umgang mit Delphi und EPub, siehe Delphipraxis: Anzeigen eines Ebooks im epub-Format

Mein Weg ist:

Ein Formular, das dem der CHM-Hilfe verblüffend ähnlich sieht.

Ein "eingebauter" Webserver (ähnlich zum Vorschlag von himitsu).

Hilfe ist in 'nem "erweiterten" EPub. Das EPub ist auch per EPubViewer lesbar.

Die "Erweiterung" ist 'ne MemTable, die ich im Programm als DataSet nutzen kann, um so leicht auf F1 und den Wert aus dem HelpContext der Komponenten, Edits, was auch immer, reagieren kann.

Der Rest ist eigentlich nur: Auf den Hilfeaufruf reagieren. Der eingebaute TWebBrowser wird hierbei per Navigate auf eine Url zum eingebauten WebServer geleitet, der entnimmt der Aufrufurl den HelpContext, sucht den passenden Satz im DataSet, findet dort die Angaben zur entsprechenden Datei im EPub, entzippt sie und liefert sie an den TWebBrowser.

Der Baum im "CHM-Hilfe-Clone-Tree" wird beim Programmstart aus dem DataSet generiert, ebenso die Stichwortsuche. Beim Klick auf irgendwas im Baum oder in der Stichwortsuche, wird auch nur der TWebBrowser per Navigate (wie oben) auf den WebServer geleitet.

Klingt alles viel aufwändiger, als es eigentlich wirklich ist.
  Mit Zitat antworten Zitat