Autor Beitrag
TimHa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 10:05 
Hallo.

Ich habe mir ein Verzeichnis angelegt, in dem ich folgende Dateien habe. 1x CNT, 1x HPJ und 1x RTF. Aus diesen Dateien erstelle ich dann die HLP Datei. Wenn ich die HLP Datei öffne klappt alles wunderbar. Ich kann mir auch den Index anzeigen lassen.

Diese HLP Datei kopiere ich dann in ein anderes Verzeichnis (zu meinem Programm). Wenn ich die Datei öffne (aus dem Explorer und auch aus dem Programm) kann der Index nicht mehr angezeigt werden. Es erscheint immer der Assistent für die Konfiguration der Suchfunktion. Wenn ich dann immer "weiter" klicke kommt am Ende: Das Register "suchen" kann nicht angezeigt werden. (177)

Was mache ich falsch?

Danke!
Tim
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 10:14 
Code? :gruebel: Meine Glaskugel ist kaputt, Kaffeesatz habe ich gerade nicht da. Ein Huhn will ich nicht extra schlachten, um die Knochen zu werfen.

Mit anderen Worten: Ich habe keine Lust zum Raten, deswegen würde ich darum bitten, dass du kurz erläuterst, wie du die Hilfedatei in dein Programm einbindest, und wie du den Index (um bei dem Beispiel zu bleiben) aufrufst.


Edit: Die CNT-Datei gehört übrigens in den selben Ordner wie die HLP. Das aber nur nebenbei.
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 10:26 
Wo fange ich an? (Ich wünschte ich hätte Ahnung vom Programmieren...)

Das mit der CNT Datei war ja schon mal eine Hilfe, wusste ich nicht. Danke! :)

Einbinden der Hilfe:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Hilfe1Click(Sender: TObject);
begin
 application.HelpJump('Inhalt')
end;


und

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(Sender: TObject);
begin
 application.HelpFile:='hilfe.hlp';
end;



Index aufrufen? Die Frage verstehe ich nicht? Ich klicke in der Hilfe auf Index... aber ich hab das Gefühl, du meinst mit der Frage was anderes...

Tim
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Mo 16.05.05 10:37 
Geh mal unter Projekt :arrow: Optionen :arrow: und irgentwo da müsste auch was von Hilfedatei stehen (ggf. Reiter wechseln). So bindet man die hilfedatei ein... :roll:
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 10:43 
Hab die Hilfe auch damit mal eingebunden. Der Fehler existiert weiterhin!

Tim
Fabian W.
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1766

Win 7
D7 PE
BeitragVerfasst: Mo 16.05.05 10:56 
Such mal hier nach Tutorials, da hab ich auch eins zur Hilfe her
www.dsdt.info/tutorials/
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 10:58 
Zitat:
(Ich wünschte ich hätte Ahnung vom Programmieren...)

Das wäre vllt. besser. :mrgreen:


Okay, ich sehe, dass du die Hilfe so aufrufst:
Zitat:
ausblenden Delphi-Quelltext
1:
Application.HelpJump('Inhalt');					

Das ist IMHO ein Fehler, weil "HelpJump" nur dazu da ist, bestimmte Themen anhand ihres Namens aufzurufen. Ich habe bspw. eine Beispieldatei für Luckies Win32-API-Tutorials (s. Tutorials-Sparte im DF) geschrieben, die u.a. ein Thema mit dem internen Namen "Topic4" enthält. Das sind die #-Fußnoten, die man in der RTF-Datei benutzen kann. Dafür könnte ich dann "HelpJump" nehmen:
ausblenden Delphi-Quelltext
1:
Application.HelpJump('Topic4');					

und ich würde die entsprechende Seite aus der Hilfedatei sehen. Wenn du die Hilfedatei einfach nur allgemein anzeigen willst, dann benutze
ausblenden Delphi-Quelltext
1:
Application.HelpCommand(HELP_FINDER, 0);					

Das ergibt sich aus der Erklärung zum API-Befehl Suche im MSDN "WINHELP", der im Hintergrund werkelt.

Warum es nun allerdings in deinem Fall zu dieser merkwürdigen Meldung mit der Suche kommt, weiß ich nicht. Als ich irgendeinen Begriff benutzt habe, den es in der Hilfedatei nicht gibt, erschien bloß die Fehlermeldung, das Thema sei nicht vorhanden, und ich solle eine neue Hilfedatei anfordern. :)


Übrigens solltest du zur Sicherheit die Hilfedatei wie folgt angeben:
ausblenden Delphi-Quelltext
1:
Application.HelpFile := ExtractFilePath(paramstr(0)) + 'hilfe.hlp';					

Evtl. vorher mit "FileExists" prüfen, ob die Datei auch existiert und ggf. alle Hilfefunktionen (Menüs, usw.) deaktivieren.
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 11:08 
Danke, hab es mal so eingebunden aber der Fehler bleibt. :(

Es ist halt etwas ärgerlich. Wenn ich im Programm auf Hilfe klicke kommt halt immer erst der blöde Assistent, dann eine Fehlermeldung und dann erst die Hilfe.

Sieht beim Präsentieren des Programms dann wohl etwas doof aus.

Tim
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 11:13 
Ist das ein Geheimprojekt, oder besteht die Möglichkeit, dass du den notwendigen Quellcode (bitte keine Exe, und keine DCUs) hier inkl. Hilfedatei anhängst? Dann könnte ich bei mir mal gucken. Oder schick´s mir per PN, wenn´s kein anderer sehen soll. :)
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 11:24 
Ich hab dir so ne pn geschickt. Ich hoffe, da ist alles drin...

Tim
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 11:39 
Nicht ganz, aber das weißt du ja inzwischen. ;)

Eine Sache: Wenn deine Hilfedatei "hilfe.hlp" heißt, dann muss das Inhaltsverzeichnis ebenfalls "hilfe.cnt" heißen, nicht "help.cnt". Nachdem ich die Datei umbenannt habe, erschien zwar der Inhalt, aber einen Index scheint es gar nicht zu geben.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 11:51 
user profile iconTimHa hat folgendes geschrieben:
Danke, hab es mal so eingebunden aber der Fehler bleibt. :(

*hüstel* Einbinden bedeutet nicht so:
Zitat:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Hilfe1Click(Sender: TObject);
begin
 application.HelpJump('Inhalt')
// application.HelpCommand(HELP_FINDER, 0)
 end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 application.HelpFile:='hilfe.hlp';
 //application.HelpFile:=extractfilepath(paramstr(0))+'hilfe.hlp';
 end;

sondern so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Hilfe1Click(Sender: TObject);
begin
  application.HelpCommand(HELP_FINDER, 0)
end;

//wo liegt die Hilfe?
procedure TForm1.FormCreate(Sender: TObject);
begin
  application.HelpFile:=extractfilepath(paramstr(0))+'hilfe.hlp';
end;

Geht bei mir tadellos. Die Hilfe erscheint immerhin. Die anderen Fehlermeldungen liegen wohl eher daran, dass du dich bisher noch nicht mit dem Thema beschäftigt hast.

Lösch zur Sicherheit noch die unsichtbare GID-Datei, die von Hilfedateien (HLP) angelegt wird. Und dann versuche, dein Inhaltsverzeichnis auch auf deine Hilfedatei abzustimmen. Ich kann dir dazu die schon erwähnten Win32-API-Tutorials von Luckie ans Herz legen. Die gehen auch kurz darauf ein, wie man eine Hilfedatei erstellt, und Inhalt und Index erzeugt, usw. Ansonsten sind auch die Suche bei Google "99STEPS" immer einen Blick wert.
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 11:53 
Ahhhh, ich glaub, ich habe es. Hab jetzt noch mal an ein paar Dateien rumgefriemelt und nun scheint es zu funktionieren. Jetzt müsste ich nur noch genau wissen, was ich gemacht habe.

Werde jetzt noch etwas rumprobieren und mich später noch mal melden (wenn hoffentlich alles geklappt hat).

Danke für deine Hilfe!!

Tim
TimHa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 88



BeitragVerfasst: Mo 16.05.05 17:24 
So, es hat alles geklappt. Noch mal 1000 Dank. Du hast mich in die richtige Richtung gedeut. :)

Tim
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.05.05 17:40 
:gruebel: Äh, ja ... freut mich auch für dich. Ich habe zwar keine Ahnung, was denn nun der Fehler war (die anderen wohl auch nicht), aber Hauptsache, es hilft dir. :mrgreen: