Hilfe-Dateien erstellen
von Oliver Herz
Übersicht
Im Forum wird in letzter Zeit immer öfters gefragt, wie man Hilfedateien erstellt. Diese Fragen möchte ich mit diesem Tutorial beantworten. Ich möchte an einem kleinen Beispiel zeigen, wie man mit dem HTML Help Workshop eine ordentliche Hilfedatei erstellen kann.
Mit freundlichen Grüßen
Oliver Herz mail@ohz-software.de
Was ist HTML-Help ?
Microsoft HTML-Help ist die aktuelle Generation von Autorensystemen zur Hilfeprogrammierung und benutzt zur Anzeige die vorhandenen Komponenten des Internet Explorers (ab Version 3.01).
Die folgenden Formate werden unterstützt:
- HTML
- Java
- ActiveX
- VBscript / Javascript
- Die Bildformate .jpeg, .gif, .png
Das Programm HTML-Help findet man auf der ersten VB-CD in dem Verzeichnis D:\HTMLhelp\ oder unter folgender Adresse:
http://msdn.microsoft.com/library/en-us/htmlhelp/html/hwmicrosofthtmlhelpdownloads.asp
Erstellen und Einbinden der HTML-Seiten
Da die Hilfedatei des Programms nicht sehr viel hergibt und das ganze auch noch in Englisch ist (was nicht unbedingt ein Nachteil sein muß), will ich hier Schritt für Schritt erklären.
- Zuerst erstellen wir die einzelnen Hilfeseiten mit einem HTML-Editor (z.B. FrontPage oder Word). Die Hyperlinks sollten direkt eingefügt werden, damit man jede Seite erreichen kann. Alle Dateien sollten, der Ordnung wegen, in einem neuen Verzeichnis abgespeichert werden. Wenn Ihr in Euren Hilfe-Dateien Grafiken einbauen wollt, solltet Ihr FrontPage benutzen. Bei der Verwendung von Word bleiben die Grafikfelder leer. (Ich hab die Erfahrung selbst machen müssen.)
- Nun öffnen wir den HTML-Workshop. (Hhw.exe)
- Wir wählen jetzt im Menu File / New und im Dialogfeld Project aus. Es wird jetzt ein Assistent gestartet, der uns durch die Einbindung der HTML-Seiten in die Hilfe-Datei führt.
- Die Frage, ob man eine existierende WinHelp-Datei konvertieren will, interessiert jetzt nicht. Ohne ein Häkchen zu machen, klicken wir Weiter.
- über die Browse Schaltfläche können wir nun bestimmen, in welchem Verzeichnis die .hhp-Datei abgelegt werden soll. Zweckmäßigerweise legen wir sie in das Verzeichnis, in dem auch die .htm-Dateien liegen. ( Hilfedatei.hhp )
- Wenn wir gefragt werden, ob wir schon Dateien erstellt haben, die wir in die Hilfe-Datei einbauen wollen, klicken wir HTML-files (.htm) an.
- Im nächsten Schritt wählen wir alle .htm-Dateien aus, die wir in unsere Hilfe-Datei einbauen wollen. Dazu benutzen wir die Add Schaltfläche.
- Als letztes beenden wir den Assistenten mit der Schaltfläche Add / Fertig stellen.
- Um unsere Seiten jetzt zu speichern und zu kompilieren, drücken wir zuerst die Schaltfläche
(Save project, contens and index files ) und danach die Schaltfläche
(Save all project files and compile ).
Die beiden Schaltflächen befinden sich in der linken, senkrechten Symbolleiste und zwar an vorletzter und letzter Stelle. Im Logfenster kann man beobachten, wie sich etwas tut. - Die erste Hilfeseite können wir uns schon anzeigen lassen, wenn wir die Schaltfläche
( View compiled file ) drücken.
Erstellen des Inhalts
- Wechseln wir auf das Register Contents, um das Inhaltsverzeichnis zu erstellen. Wir bestätigen die Option Create a new contents file und speichern es als Hilfedatei.hhc in unserem Verzeichnis ab.
- Nun klicken wir auf die Schaltfläche ( Insert a heading ).
- Als Entry Title wählen wir Inhaltsverzeichnis und klicken die Add/Edit Schaltfläche.
- Als Project file tragen wir Hilfedatei.hhp ein und als File or URL wählen wir über die Browse Schaltfläche die Datei Inhaltsverzeichnis.htm . Als Entry Title wählen wir Inhaltsverzeichnis und klicken die Add/Edit Schaltfläche.
- Um jetzt die Unterpunkte einzufügen, klicken wir auf die Schaltfläche Insert a page.
Die Meldung Do you want to insert at the beginning? Quittieren wir mit Nein.
- Wir weisen jetzt auf die gleiche Art die htm-Dateien dem ersten Unterpunkt zu.
- Das wiederholen wir für alle weiteren Unterpunkte, immer beginnend mit der Schaltfläche ( Insert a page ) im Hauptfenster.
Wichtig: Man sollte nie die Schaltfläche add benutzen, da es sonst zu einem Compilierfehler kommen kann. - Zum Schluß kompilieren wir die Hilfedatei mit einem Klick auf die Schlaltfläche ( Compile HTML File )
Erstellen einer Indexdatei
- Das Hinzufügen einer Indexdatei ( Hilfedatei.hkk ) funktioniert ähnlich wie bei der Inhaltsdatei. Zuerst wählen wir das Register Index.
- Dann öffnen wir die Indexseite über die Schaltfläche ( Insert a keyword ). Die einzelnen Keywords ordnen wir auf analoge Weise ( Add/Edit ...-Schaltfläche) den jeweiligen htm-Seiten zu.
- Mit der Schaltfläche ( Sort every Keyword at same level as selection ) können wir unsere Einträge alphabetisch sortieren.
- Zum Schluß das Kompilieren nicht vergessen.
Ergebnis
Als Ergebnis bekommen wir dann folgende Ansichten:
Bekannte Fehler
Wird die chm-Hilfe aufgerufen, das Projekt aber geschlossen, erzeugt dieser Vorgang einen Fehler: "Hilfe:vb6.exe - Fehler in Anwendung ...Die Anweisung in 0x5d31c019 verweist auf Speicher in ..."
Abhilfe schafft der folgende Code:
Private Const HH_CLOSE_ALL As Long = &H12 Private Sub cmdBeenden_Click() Call HTMLHelp(Form1.hWnd, "", HH_CLOSE_ALL, 0) Unload Me End Sub
Einbinden in Visual Basic
Option Explicit Private Declare Function HtmlHelp Lib "hhctrl.ocx" _ Alias "HtmlHelpA" (ByVal hwndCaller As Long, _ ByVal pszFile As String, ByVal uCommand As _ Long, ByVal dwData As Long) As Long Private Const HH_DISPLAY_TOPIC=&H0 Private Sub mnuHelp_Click() Dim Datei As String Datei = App.Path & "\Hilfedatei.chm" Call HtmlHelp(0, Datei, HH_DISPLAY_TOPIC, ByVal 0&) End Sub
Damit das Beispiel auch funktioniert, muß die kompilierte HTML-Hilfedatei (hier Hilfedatei.chm) im Anwendungsverzeichnis stehen.
Zum Testen dieses Codes in der Entwicklungsumgebung muss man beachten, dass man ein spezielles Plugin für die Entwicklungsumgebung geladen haben muss, welches das OCX für die Entwicklungsumgebung initalisiert. Andernfalls kann es zu Schutzverletzungen kommen. Genaue Informationen erhalten Sie in folgendem Knowledge-Base-Artikel:
http://support.microsoft.com/default.aspx?scid=kb;en-us;244140Download des PlugIns:
HHCtrlAV_AddIn.EXE (Microsoft Download-center)
Beispielprojekt als Download [10649 Bytes]
Ihre Meinung
Falls Sie Fragen zu diesem Tutorial haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.