[gelöst] CHM Hilfe

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
atroesch
Beiträge: 36
Registriert: Mo 7. Jul 2025, 10:05

[gelöst] CHM Hilfe

Beitrag von atroesch »

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?
Zuletzt geändert von atroesch am Mi 6. Aug 2025, 22:29, insgesamt 1-mal geändert.

Benutzeravatar
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

Beitrag von af0815 »

atroesch hat geschrieben: Mi 6. Aug 2025, 17:21 Was ist den das genau, was habe ich vergessen?
Beispielcode
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 5245
Registriert: Fr 8. Apr 2011, 09:01

Re: CHM Hilfe

Beitrag von wp_xyz »

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.
Dateianhänge
app_with_help_demo_lcl.zip
(10.29 KiB) 54-mal heruntergeladen

atroesch
Beiträge: 36
Registriert: Mo 7. Jul 2025, 10:05

Re: CHM Hilfe

Beitrag von atroesch »

habe das jetzt anders gelöst.

Benutzeravatar
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

Beitrag von m.fuchs »

atroesch hat geschrieben: Mi 6. Aug 2025, 22:29 habe das jetzt anders gelöst.
Und wie?
0118999881999119725-3

Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

MmVisual
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

Beitrag von MmVisual »

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.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Ich934
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

Beitrag von Ich934 »

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.
Tipp für PostgreSQL: www.pg-forum.de

MmVisual
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

Beitrag von MmVisual »

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.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Ich934
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

Beitrag von Ich934 »

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.
Tipp für PostgreSQL: www.pg-forum.de

MmVisual
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

Beitrag von MmVisual »

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.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Ich934
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

Beitrag von Ich934 »

Ah ok. Danke für die Klarstellung.
Tipp für PostgreSQL: www.pg-forum.de

Antworten