Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hilfe in Delphi-Programm einbinden (https://www.delphipraxis.net/116408-hilfe-delphi-programm-einbinden.html)

mashutu 28. Jun 2008 20:29


Hilfe in Delphi-Programm einbinden
 
Hi folks,
sorry, dass ich das hier och mal fragen muss aber entweder ich stelle mich total bloede an oder ich uebersehe etwas grundlegendes.


1.) Mein Programm hatte bislang eine kontextsensitive Online-Hilfe im *.hlp Format (in verschiedenen Sprachen)

2.) Seit dem Upgrade von Delphi7 auf Delphi BDS2006 kommt beim Aufruf der OnlineHilfe eine Exception.
*Keine kontextsensitive Onlinehilfe installiert(

3.) Ich hatte (hier) schon einmal nach diesem Thema gefragt und Ihr habt mir einige Links geschickt, die ich mittlerweile alle durchgeackert habe.

4.) Ich habe 'spasseshalber' mal die drei Sprachversionen (je 150 Seiten) ins CHM-Format konvertiert.

Ergebnis: IMMER NOCH GIBT ES EINE EXCEPTION
(sorry fuer die Caps)
[Edit:]
ACHTUNG: Die Hilfe wird mit den Jedi-Tools schon aufgerufen, aber wenn der Anwender jedesmal bei F1 eine Exception um die Ohren gehauen bekommt, isses fast schlechter als gar keine Hilfe.... :-(

Ich habe unter anderem die am meisten genannten Tools in mein Projekt eingebunden als da waeren:
"HTML Help Kit for Delphi" von The Helpware Group
und das WinAPI-Kit von Jedi (latuernich nicht alle gleichzeitig)

Ich habe entsprechend der Anleitungen von mehreren hier und in anderen Foren erwaehnten PDFs (bspw. das von Michael Puff) und dem Tutorial im Delphi-Treff versucht das Problem zu loesen.

Andererseits isses offensichtlich, dass einige dieser Dokumente von 2007 oder noch frueher stammen und sich auf D5, D6 beziehen und vielleicht irgendetwas nicht beruecksichtigen, was nun in Bds2006 Sache ist.

Hat jemand eine Idee?
Danke fuer eure Muehe im Voraus

taaktaak 28. Jun 2008 20:35

Re: Hilfe in Delphi-Programm einbinden
 
Moin, Moin,
versuche mal die Unit in Beitrag#8 dieses Threads einzubinden. Vielleicht hilft's..

mashutu 28. Jun 2008 20:45

Re: Hilfe in Delphi-Programm einbinden
 
Zitat:

Zitat von taaktaak
Moin, Moin,
versuche mal die Unit in Beitrag#8 dieses Threads einzubinden. Vielleicht hilft's..

Sorry, aber das hit nix geholfen. Da wird keine Hilfe aufgerufen und es kommt nur die Exception.
Danke trotzdem fuer Deine Muehe.

Missionar 28. Jun 2008 21:28

Re: Hilfe in Delphi-Programm einbinden
 
Schmeiss den ganzen Fremdschrott raus, weise die Hilfedatei (.CHM) zu und binde in die Projektdatei die unit Delphi-Referenz durchsuchenhtmlhelpviewer ein. Das wars.

Wenn Du die alte Hilfe verwenden willst, nimm die andere unit.

mashutu 28. Jun 2008 21:38

geloest :-(
 
Servus,

okay, ich habe es geschafft.

Man muss in JEDEM Form, das die OLH benutzt die Ereignisroutine OnHelp fuellen und
CallHelp auf FALSE setzen (was extrem intuitiv ist...:-(( )

Mein Fehler war wohl eine Kombination aus 'falsch abgeschreiben' (CallHelp) und der Tatsache, dass die meisten Topics mit OLH-Tags nicht im Hauptformular liegen und ich jetzt den ganzen kladderadatsch auch noch in zig Formularen nachtragen muss, damit die Hilfe wieder Kontextsensitiv ist.

Unter Rapid Application Development habe ich mir immer etwas anderes vorgestellt - so wie frueher, man traegt fuer
Application.Helpfile einen Wert ein und dann funktioniert alles ueber die entsprechenden Tags.

Aber irgendwie wird unter Windows alles schlechter, wie mir scheint. Jetzt muss ich nicht nur die ganze Online-Hilfe neu machen, sondern auch noch in zig Formularen hinterherprogrammieren.

Nichtsdestotrotz, danke fuer den Tip von taaktaak, denn mit der 'schlanken' Unit, die ich nun eingebunden habe tut es auch, ohne den Code durch die Jedis unnoetig aufzublasen.

mashutu 28. Jun 2008 23:17

Re: Hilfe in Delphi-Programm einbinden
 
Zitat:

Zitat von Missionar
Schmeiss den ganzen Fremdschrott raus, weise die Hilfedatei (.CHM) zu und binde in die Projektdatei die unit Delphi-Referenz durchsuchenhtmlhelpviewer ein. Das wars.

Wenn Du die alte Hilfe verwenden willst, nimm die andere unit.

Danke. Das war es tatsaechlich - fast:
die Hilfe wird aufgerufen meldet aber einen Fehler:
"HH_Help_Context Called without a [map] section."
Und contextsensitiv isses auch nicht.
Aber wenn ich jetzt die "alte" *.hlp-Datei als Hilfedatei einbinde funktioniert es - auch kontextsensitiv. Ohne in jedes Form irgendwas reinmachen zu muessen.
Danke.

Und wo finde ich einen 'alten' *.HLP-compiler? - Weil das eigentliche Anliegen ja lediglich aus der Erweiterung der Hilfe um ein paar Seiten bestand...

Danke

Missionar 29. Jun 2008 18:50

Re: Hilfe in Delphi-Programm einbinden
 
schon mal was von GIDF gehört? Bei Google suchenhelp workshop download

wenn du die alte hilfe verwenden willst, so ist die unit Delphi-Referenz durchsuchenWinHelpViewer das richtige für dich.

ansonsten ist deine CHM schrott, das liegt nicht an delphi... kannst leicht testen, indem du im HWS auf testen gehst... da bringt er sicher den selben fehler.

wenn du es ordentlich machen willst, bau deine hilfe mit dem HTML-WS neu auf (die grafiken sind besser), ausserdem funktioniert es auch ohne nachträgliche installation des HelpViewers. Sonst hat das keinen Vorteil.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz