[gelöst] CHM Hilfe
[gelöst] CHM Hilfe
Hallo,
habe wie im Wiki beschrieben CHM-Hilfe erstellt und und die Componenten
TCHMHelpDatabase und TLHelpConnector auf die Form gesetzt.
Beim Einfügen des Beispielcodes vom Wiki mault er jetzt aber
MnuHelpMain als unbekannten Bezeichner an.
Was ist den das genau, was habe ich vergessen?
habe wie im Wiki beschrieben CHM-Hilfe erstellt und und die Componenten
TCHMHelpDatabase und TLHelpConnector auf die Form gesetzt.
Beim Einfügen des Beispielcodes vom Wiki mault er jetzt aber
MnuHelpMain als unbekannten Bezeichner an.
Was ist den das genau, was habe ich vergessen?
Zuletzt geändert von atroesch am Mi 6. Aug 2025, 22:29, insgesamt 1-mal geändert.
- af0815
- Lazarusforum e. V.
- Beiträge: 6922
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: CHM Hilfe
Beispielcode
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: CHM Hilfe
Es wäre gut, wenn du einen Link auf die betreffende Seite einfügen würdest - dann wüsste man genau, was du meinst. Aber ich denke ich habe die Seite gefunden. Diese: https://wiki.freepascal.org/Add_Help_to ... sing_LHelp ? Hier ist MnuHelpMain ein Menüpunkt, der die Seite main.html aufrufen soll. Hast du den erzeugt?
Der Artikel lässt einige Fragen offen... Ich musste etwas probieren, bis ich ein funktionierendes Beispiel fand - siehe Anhang. Probleme machte mir das "KeywordPrefix". Das ist der Name der Hilfe-Datei (ohne .chm). Und der muss in Objekt-Inspektor ebenfalls verwendet werden; der Hilfe-Eintrag für das Edit.Control in dem Beispiel ist in der im chm-eingebetteten Datei "edit.htm"; als HelpKeyword für das Control muss dann das KeywordPrefix vorangestellt werden (in dem Beispiel: "app_with_help_demo/edit.htm").
Damit das Beispiel funktioniert musst du das LHelp-Exe noch in das Exe-Verzeichnis des Projekts kopieren.
Der Artikel lässt einige Fragen offen... Ich musste etwas probieren, bis ich ein funktionierendes Beispiel fand - siehe Anhang. Probleme machte mir das "KeywordPrefix". Das ist der Name der Hilfe-Datei (ohne .chm). Und der muss in Objekt-Inspektor ebenfalls verwendet werden; der Hilfe-Eintrag für das Edit.Control in dem Beispiel ist in der im chm-eingebetteten Datei "edit.htm"; als HelpKeyword für das Control muss dann das KeywordPrefix vorangestellt werden (in dem Beispiel: "app_with_help_demo/edit.htm").
Damit das Beispiel funktioniert musst du das LHelp-Exe noch in das Exe-Verzeichnis des Projekts kopieren.
- Dateianhänge
-
app_with_help_demo_lcl.zip
- (10.29 KiB) 54-mal heruntergeladen
Re: CHM Hilfe
habe das jetzt anders gelöst.
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2844
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: CHM Hilfe
Und wie?
0118999881999119725-3
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: [gelöst] CHM Hilfe
Ja, die Hilfe für ein Programm ist immer so eine Sache...
Ich nutze ebenfalls sehr gerne die CHM Datei. Doch in den letzten Jahre blockiert Microsoft diese Datei immer wieder und man hat Probleme.
Daher habe ich es nun so gelöst:
- Die Quell Dateien (Html, Bilder) packe ich in eine Ressource
- Extra TForm mit HTML Steuerelement (Hilfe Ansicht Formular)
- Die HTML Dateien und Bilder lade ich zur Darstellung aus der Ressource in das HTML Steuerelement.
- Dazu noch der Baum wie in der CHM Datei als TreeView
- Klick auf Links laden dann die andere Datei(en) aus der Ressource.
- Suche nach Worten ist ebenfalls integriert
- Drucken kann das HTML Steuerelement auch
Damit ist die Hilfe zum Programm immer passend mit in der EXE automatisch enthalten und somit keine extra Dateien nötig. Die EXE ist zwar jetzt 10MB größer, das stört heutzutage nicht mehr.
Ich nutze ebenfalls sehr gerne die CHM Datei. Doch in den letzten Jahre blockiert Microsoft diese Datei immer wieder und man hat Probleme.
Daher habe ich es nun so gelöst:
- Die Quell Dateien (Html, Bilder) packe ich in eine Ressource
- Extra TForm mit HTML Steuerelement (Hilfe Ansicht Formular)
- Die HTML Dateien und Bilder lade ich zur Darstellung aus der Ressource in das HTML Steuerelement.
- Dazu noch der Baum wie in der CHM Datei als TreeView
- Klick auf Links laden dann die andere Datei(en) aus der Ressource.
- Suche nach Worten ist ebenfalls integriert
- Drucken kann das HTML Steuerelement auch
Damit ist die Hilfe zum Programm immer passend mit in der EXE automatisch enthalten und somit keine extra Dateien nötig. Die EXE ist zwar jetzt 10MB größer, das stört heutzutage nicht mehr.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Lazarusforum e. V.
- Beiträge: 384
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux mit FPCUPdeluxe (L: 4.2, FPC 3.2.2)
- CPU-Target: x86_64 (Win & Linux)
- Wohnort: Bayreuth
Re: [gelöst] CHM Hilfe
Ich schreibe meine Dokumentationen mit WriterSide von JetBrains. Dadurch bekomme ich HTML-Dateien für eine Webseite als auch PDFs.
Ich kann das Ganze auch für eine lokale Darstellung exportieren, benötige dafür aber auch JS. Damit scheidet dann der HTMLViewer aus.
Meine Lösung ist jetzt, lokal das PDF mitzuverteilen und auf das Internet zu verweisen. Eine bessere Lösung hab ich nicht so wirklich gefunden.
Ich kann das Ganze auch für eine lokale Darstellung exportieren, benötige dafür aber auch JS. Damit scheidet dann der HTMLViewer aus.
Meine Lösung ist jetzt, lokal das PDF mitzuverteilen und auf das Internet zu verweisen. Eine bessere Lösung hab ich nicht so wirklich gefunden.
Tipp für PostgreSQL: www.pg-forum.de
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: [gelöst] CHM Hilfe
Wie ich das mache:
Ich schreibe die Hilfe Seiten in HTML und nutze dazu das Tool "KompoZer" (https://sourceforge.net/projects/kompozer/). Damit schreibe ich in der WYSIWYG Ansicht ohne dass ich mich mit HTML direkt auseinander setzen muss.
Also Text schreiben, Bilder einfügen, Links und das ganze noch formatieren. Ich habe mir eine CSS Datei geschrieben in der die paar wenige Standard Sachen wie H1, H2, TD, TR usw. deklariert sind damit die Datei immer gleich aussiert.
Kompozer erzeugt von Haus aus kein Java und hat auch keine andere Super-Features, aber das brauche ich in der Hilfe nicht, bzw. sind sogar extra unerwünscht.
Mit dem Tool "Html Help Workshop" von Microsoft erzeuge ich den Hilfe Baum, das macht daraus eine Datei im XML Format und kann man somit gut verwenden und den eigenen TTreeView aufbauen.
Diese Technik zum Schreiben der Dokus verwende ich bereits seit über 20 Jahren so und nach wie vor bin ich damit zufrieden. Die Doku kann ich sogar 1:1 in meiner Homepage direkt verwenden, für den linken Themen-Baum habe ich ein PHP geschrieben, der den darstellt.
- Schreiben als HTML
- als Ressource in die EXE gelinkt, Hilfe die EXE integriert (macht eine Batch Datei beim Übersetzen automatisch mit)
- Die EXE kann die Hilfe komplett drucken, z.B, als PDF Drucker
- Hilfe als CHM Datei
- Online Hilfe in der Webseite
- Quell HTML Dateien in der Quellcode Verwaltung, jederzeit überprüfbar was geändert wurde
Meine Homepage schreibe ich mit dem Tool "RocketCake", das nutzt / macht Java im hintergrund, jedoch kommt komplett ohne Cookies aus, das war mir wichtig damit man keinen extra "DSGVO Cookies Erlauben Extrem Nervender Dialog" auf der Homepage braucht.
Ich schreibe die Hilfe Seiten in HTML und nutze dazu das Tool "KompoZer" (https://sourceforge.net/projects/kompozer/). Damit schreibe ich in der WYSIWYG Ansicht ohne dass ich mich mit HTML direkt auseinander setzen muss.
Also Text schreiben, Bilder einfügen, Links und das ganze noch formatieren. Ich habe mir eine CSS Datei geschrieben in der die paar wenige Standard Sachen wie H1, H2, TD, TR usw. deklariert sind damit die Datei immer gleich aussiert.
Kompozer erzeugt von Haus aus kein Java und hat auch keine andere Super-Features, aber das brauche ich in der Hilfe nicht, bzw. sind sogar extra unerwünscht.
Mit dem Tool "Html Help Workshop" von Microsoft erzeuge ich den Hilfe Baum, das macht daraus eine Datei im XML Format und kann man somit gut verwenden und den eigenen TTreeView aufbauen.
Diese Technik zum Schreiben der Dokus verwende ich bereits seit über 20 Jahren so und nach wie vor bin ich damit zufrieden. Die Doku kann ich sogar 1:1 in meiner Homepage direkt verwenden, für den linken Themen-Baum habe ich ein PHP geschrieben, der den darstellt.
- Schreiben als HTML
- als Ressource in die EXE gelinkt, Hilfe die EXE integriert (macht eine Batch Datei beim Übersetzen automatisch mit)
- Die EXE kann die Hilfe komplett drucken, z.B, als PDF Drucker
- Hilfe als CHM Datei
- Online Hilfe in der Webseite
- Quell HTML Dateien in der Quellcode Verwaltung, jederzeit überprüfbar was geändert wurde
Meine Homepage schreibe ich mit dem Tool "RocketCake", das nutzt / macht Java im hintergrund, jedoch kommt komplett ohne Cookies aus, das war mir wichtig damit man keinen extra "DSGVO Cookies Erlauben Extrem Nervender Dialog" auf der Homepage braucht.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Lazarusforum e. V.
- Beiträge: 384
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux mit FPCUPdeluxe (L: 4.2, FPC 3.2.2)
- CPU-Target: x86_64 (Win & Linux)
- Wohnort: Bayreuth
Re: [gelöst] CHM Hilfe
Ja, das wäre eine Möglichkeit. Aber damit pflegst du das doppelt, oder?
Der Vorteil für mich ist einfach, dass ich einfach und schnell die Dokumentation erzeugen kann. Ich verzichte dann halt auf die Inline-Doku.
Der Vorteil für mich ist einfach, dass ich einfach und schnell die Dokumentation erzeugen kann. Ich verzichte dann halt auf die Inline-Doku.
Tipp für PostgreSQL: www.pg-forum.de
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: [gelöst] CHM Hilfe
Nein, ich pflege nichts doppelt, zumindest brauche ich nichts doppelt schreiben.
Die EXE kompilliere ich und die Hilfe Dateien (Html + Bilder) kopiere ich auf die Webseite, das sind natürlich 2 Arbeitsschritte.
Die EXE kompilliere ich und die Hilfe Dateien (Html + Bilder) kopiere ich auf die Webseite, das sind natürlich 2 Arbeitsschritte.
EleLa - Elektronik Lagerverwaltung - www.elela.de