Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi HLP-Datei: Richtigen Eintragen aufrufen (https://www.delphipraxis.net/10097-hlp-datei-richtigen-eintragen-aufrufen.html)

zeeman 11. Okt 2003 15:59


HLP-Datei: Richtigen Eintragen aufrufen
 
Hallo zusammen!

Hab' soebend mit nem netten Programm eine .hlp-Hilfedatei erzeugt.
Ich weiß, chm is gerade in, das Programm werden aber auch Win95-User nutzten.
Und da ich nicht um das installierte Update pokern will nehm ich hal .hlp.

Delphi mag ja eigetnlich auch nur hlp-Dateien.

Das Problem ist, dass wenn ich zu einer Komponente den Hilfeeintrag aufrufe, wird immer nur die Standartstartseite der Hilfe geöffnet.

HelpContent scheint irgendwie keinen Effekt zu haben.

Wenn ich se mit HelpContext mache muss ich ihm bei jedem Aufruf der Hilfe die Datei manuell zeigen, da er irgendwie die '\' verschluckt.


Und ShellExecute(blabla) geht auch nicht, das kennt Delphi7 nicht. :wall:

Jemand ne Idee, wie ich das richtige Topic direkt aufrufe?
Ich hab die Hpl mit HelpMaker (von SourceForge) gemacht.

Auch bin ich mir nicht ganz sicher, welche ContentID er überhaupt nimmt.
Ich hab beide mal gleich gesetzt und getestet.
Nix


Hoffentlich kann mir da jemand helfen.
Sebastian

P.S.: Gibts eigetnlich irgendeinen Weitergabeassistenten wie bei VisualBasic oder welches Programm für Installationen soltle man verwenden?

SirThornberry 11. Okt 2003 16:03

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
ShellExecute sollte unter delphi7 auch funktionieren wenn du ShellApi einbindest

MathiasSimmack 11. Okt 2003 17:01

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
Zitat:

Zitat von zeeman
HelpContent scheint irgendwie keinen Effekt zu haben.

Wenn ich se mit HelpContext mache muss ich ihm bei jedem Aufruf der Hilfe die Datei manuell zeigen, da er irgendwie die '\' verschluckt.

Zeig mal Code, denn normalerweise passiert so was nicht. Ich mach´s aber bspw. so, dass ich eine Variable mit dem Namen der Hilfedatei deklariere. Und beim Start (im "OnCreate" etwa) ergänze ich den Pfad des Programms.

Zitat:

Und ShellExecute(blabla) geht auch nicht, das kennt Delphi7 nicht. :wall:
Die Hilfe mit ShellExecute aufrufen ... Na ja, es mag gehen, aber damit kommst du auch nicht an die richtige Seite ran, sondern du siehst bestenfalls die Startseite, die du beim Anklicken der HLP-Datei auch siehst.

Zitat:

Jemand ne Idee, wie ich das richtige Topic direkt aufrufe?
Ich hab die Hpl mit HelpMaker (von SourceForge) gemacht.
Da es sich um Standardbefehle handelt, empfehle ich einen Blick in die Hilfe von Delphi. Alternativ empfehle ich als Lektüre mein Hilfedateien-Tutorial unter http://www.luckie-online.de/tutorials/win32apituts/. In den Beispielprogrammen ist ein gezipptes Beispiel für VCL-Programmierer.

Zitat:

Auch bin ich mir nicht ganz sicher, welche ContentID er überhaupt nimmt.
Kann es sein, dass du nicht Content sondern Context meinst? Also die kleinen Tooltipp-artigen Hilfeinfos? Na ja, wie dem auch sei. Schau dir ggf. mein Beispielprogramm an. :)

Zitat:

P.S.: Gibts eigetnlich irgendeinen Weitergabeassistenten wie bei VisualBasic oder welches Programm für Installationen soltle man verwenden?
Entweder InstallShield Express, oder -stilecht!- Inno Setup (das ist selbst mit Delphi programmiert worden :wink:), oder NSIS.

Gruß.

Alexander 11. Okt 2003 17:11

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
Dazu habe ich auch mal ne Frage und zwar kann ich diese HelpConxte auch mit einer kompilierten HTML-DAtei (MS Workshop) nutzen?

zeeman 11. Okt 2003 17:37

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
also mal genau.

Mein Button hat im Objektinspector diese Wert:
HelpContext := 6
HelpKeyword :=
HelpType := htContext

Mein Topic in der Hilfedatei hat
Topic ID := 6
Help Context Number := 6

Wenn ich aber F1 drücke, wenn der Focus auf dem Button ist, kommt nur die Startseite. :gruebel:


Das ich die Hilfe so aufrufen kann (mit ShellExecute) is auch ok, aber ich brauch beides.

aus dem Programm werd ich nciht richtig schlau, hab noch nie nonVCL gearbeitet, ich seh da irgendwo nirgends den befehl, der beim clicken aufgerufen wird.....


Aber ist schonmal doll, dass hier einem so schnell geholfen wird :dp:
Sebastian

MathiasSimmack 11. Okt 2003 17:55

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
Zitat:

Zitat von alexander
Dazu habe ich auch mal ne Frage und zwar kann ich diese HelpConxte auch mit einer kompilierten HTML-DAtei (MS Workshop) nutzen?

Ja, siehe das andere gezippte VCL-Beispiel im Ordner "HelpFiles\chm". :mrgreen:

Alexander 11. Okt 2003 18:17

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
Danke Matthias ;-)

MathiasSimmack 11. Okt 2003 18:26

Re: HLP-Datei: Richtigen Eintragen aufrufen
 
Zitat:

Zitat von zeeman
Mein Button hat im Objektinspector diese Wert:
HelpContext := 6
HelpKeyword :=
HelpType := htContext

Mein Topic in der Hilfedatei hat
Topic ID := 6
Help Context Number := 6

Entweder ist beim Mappen im Hilfeprojekt was schief gegangen, oder dein Topic in der RTF-Datei (oder was immer du benutzt ... sorry, ich schreibe RTFs und compiliere mit dem Helpworkshop von Microsoft) hat eine andere ID.

Zitat:

Das ich die Hilfe so aufrufen kann (mit ShellExecute) is auch ok, aber ich brauch beides.
Finde ich Quatsch, denn du hast dich bewusst für HLP-Dateien entschieden. Wie du richtig sagtest wird dieser Typ von Windows 95 bis XP unterstützt. Also ist ShellExecute Blödsinn, weil Delphi den passenden Befehl zur Anzeige von Hilfethemen usw. zur Verfügung stellt.

Zitat:

aus dem Programm werd ich nciht richtig schlau, hab noch nie nonVCL gearbeitet, ich seh da irgendwo nirgends den befehl, der beim clicken aufgerufen wird.....
Ich sagte, du sollst bitte das gezippte VCL-Beispiel entpacken. Das ist die Datei "VCL-src.zip" im Ordner "HelpFiles/hlp". Wenn du das Projekt kompilierst und die beiliegende Beispielhilfedatei benutzt, dann solltest du fündig werden. Ich weiß, dass nicht jeder was mit nonVCL anfangen kann. Und genau darum stecken die beiden VCL-Beispiele (für HLP und CHM) ja zusätzlich drin. :)
Nach einem Klickbefehl wirst du aber vergeblich suchen, denn die Kontexthilfe (auf dem Button bspw.) wird über die Standards augerufen. Sprich: über den Button in der Titelleiste bzw. mit einem Rechtsklick auf das Control.

Gruß.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.

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