Entwickler-Ecke

Sonstiges (Delphi) - mein Programm findet das hlp file nicht


mk2 - Mo 30.05.05 12:35
Titel: mein Programm findet das hlp file nicht
Hi,

Mein Helpfile liegt im Programm Hauptordner und wird im dpr file so angesprochen:


Delphi-Quelltext
1:
Application.HelpFile := 'Onlinehilfe.HLP';                    


Ok, wenn ich das Programm jetzt kompiliere (F9) und dann F1 drücke erscheint die Onlinehilfe wie gewünscht. Jetzt hab ich aber mit Inno Setup einen Installer für das Programm gemacht. Im wesentlichen kopiert der nur die exe Datei, das Help File und noch ein paar andere nötige Dateien (aber keine .pas oder .dpr) in ein unterordner von C:\Programme, erstellt shortcuts im Startmenü usw.

Wenn ich das Programm nun mit dem Installer nach z.B. C:\Programme\MyApp installiere, dann über den neu erstellten Startmenüeintrag starte und dann F1 drücke kommt eine Message, dass die Hilfedatei Onlinehilfe.HLP nicht gefunden wurde. Ich kann dann in einem Opendialog (der im Eigene Dateien startet, wurde dort nach der Hlp Datei gesucht?) manuell den Pfad der Hilfe Datei also C:\Programme\MyApp\OnlineHilfe.HLP eingeben und danach tritt diese Fehlermeldung auch bei Programmneustart nie wieder auf. Trotzdem sehr ärgerlich, weiss jemand woran das liegen könnte? Das working directory hab ich für den Shortcut übrigens richtig eingestellt, also C:\Programme\MyApp.

Mann, mann für son mickriges Problem hab ich jetzt ganz schön viel getippt, Sorry :)

Vielen Dank schonmal,

Gruß, mk2


AG - Mo 30.05.05 14:39

vielleicht übergibst du zum Helpfile auch noch den richtigen Pfad, a la
Appl_Path:=ExtractFilePath(ParamStr(0));

ParamStr(0) ist die exe, die du grad ausführst, und danach

Application.HelpFile := Appl_Path+'Onlinehilfe.HLP';


mk2 - Mo 30.05.05 17:47

vielen Dank, das hat mein Problem gelöst

Ich hab zwar keinen Schimmer warum die Datei ohne Pfadangabe nicht im Programmverzeichniss gesucht wird, aber hauptsache es geht :)

Bye, mk2


Delete - Mo 30.05.05 18:13

Weil das Programmverzeichnis nicht das aktuelle Verzeichnis sein muss. Das wird in deinem Fall wohl der ... äh, Fall gewesen sein.