![]() |
Probleme mit HLP-Datei unter Delphi 7
(Dies ist ein paralleles Posting im DF und in der DP. Ich brauche eine möglichst breite Basis für Antworten und evtl. Lösungen.)
Meine Frage richtet sich speziell an Benutzer von Delphi 6 und 7. Habt ihr auch Probleme beim Anzeigen von ganz gewöhnlichen Hilfedateien im HLP-Format? Ich habe vorher mit Delphi 5 gearbeitet, und da hat es in der Hinsicht nie Probleme gegeben. Ich weiß, dass speziell bei der Benutzung von CHM-Hilfedateien ein Fix für D6 und D7 erforderlich ist, weil sich irgendetwas am Hilfesystem von Delphi verändert hat, wodurch ein eigenes "OnHelp"-Ereignis nicht mehr wie gewohnt funktioniert. Aber bei HLP-Dateien? :? Meine Erfahrungen mit einem simplen VCL-Beispiel:
Wie gesagt: es geht hier um HLP-Dateien und Delphi 6 und 7. Und meine Frage richtet sich an die, die in ihren Programmen eine Hilfedatei eingebunden haben oder dies versuchen - Kann noch jemand diese Probleme nachvollziehen? (Es würde übrigens schon ausreichen, eine beliebige HLP-Datei zu verwenden und das Beispiel zu "HelpCommand" aus der Delphi-Hilfe einfach abzutippen oder zu kopieren.) Oder hatte jemand das Problem? In dem Fall würde mich die Lösung interessieren, weil ich es sehr ärgerlich finde. Gruß. |
Re: Probleme mit HLP-Datei unter Delphi 7
Alsoals ich noch D6-personal hatte, habe ich auch hlp-Hilfen verwendet, allerdings waren meine Programmier-Kenntnisse sogering, dass ich mich drüber freute, allein die Hilfe zu öffnen :mrgreen:
Aber wie macht man diese Kurzhilfe (Fragezeichen-Button) mit hlp-Dateien ? Ich dachte bisher immer dies ginge nur mit chm-Hilfen oder Stringressourcen. |
Re: Probleme mit HLP-Datei unter Delphi 7
Auf die Schnelle: Wenn du den Helpworkshop von Microsoft benutzt, dann mappst du ein Thema, so dass es nach außen hin mit einer Nummer anstelle des Namens erscheint. Diese Nummer trägst du bspw. bei einem Button in die Eigenschaft "HelpContext" ein, packst den ?-Button in die Titelleiste und probierst es aus.
Noch schneller: Du lädtst dir mal eben die Beispiele der Win32-API-Tutorials von Luckie runter. Da stecken (noch) gezippte VCL-Sourcen drin. Denn hier geht´s ja um die VCL. Die beiliegende Sample-Hilfedatei (*.cnt, *.hlp) kopierst du in den Ordner des VCL-Beispielprogramms, und dann probierst du es aus. |
Re: Probleme mit HLP-Datei unter Delphi 7
Liste der Anhänge anzeigen (Anzahl: 1)
So. Nach Rücksprache mit Luckie kam heraus, dass bei Delphi 6 das Problem offenbar nicht auftritt. Nach Rücksprache mit Chakotay allerdings zeigte sich, dass seine Delphi 7-Version das Problem auch nicht hat. Ich hänge mal eine von mir mit D7 kompilierte Version samt Hilfedatei ran.
Es handelt sich dabei um das gezippte VCL-Beispiel der Win32-API-Tutorials. Bitte mal die Funktionen ausprobieren, speziell auch die Kontext-Hilfe. Dann wisst ihr hoffentlich, was für Probleme ich habe. :cry: Ich kenne den Grund nicht, warum D7 bei mir so kläglich versagt, während es bei Chakotay funktioniert. Andererseits ist das offenbar nur fair, denn bei ihm funktioniert wohl die Sache mit den Sprach-Ressourcen nicht. Bei mir allerdings schon. ;) Nee, ernsthaft: Die Ursache und eine Lösung würde mich wirklich interessieren. |
Re: Probleme mit HLP-Datei unter Delphi 7
Hallo Mathias,
ich verstand nicht exakt was Du willst (ich habe noch nie mit *.HLP -Dateien gearbeitet :oops: ), so habe ich nun Deine Demo gestartet aber auch schnell eine eigene Demo mit
Delphi-Quellcode:
gemacht.
Application.HelpFile := 'C:\DOWNLOAD\DELPHI\!!!!!!NEW\HlpS_VCL\SAMPLE.HLP';
Application.HelpCommand(HELP_FINDER, 0); Bei beiden Varianten funktioniert der Hilfe-Aufruf (D7 Enterprise auf WinXP Pro +SP1), bei Deiner Exe funktionieren ausserdem alle Hilfe-Buttons korrekt. |
Re: Probleme mit HLP-Datei unter Delphi 7
Liste der Anhänge anzeigen (Anzahl: 1)
Dann weiß ich nicht mehr weiter.
Wenn ich auf den ?-Button in der Titelleiste und dann (mit dem geänderten Cursor) auf den ersten Button klicke (als Beispiel, weil der ´ne Kontext-ID hat), dann sehe ich nicht etwa das Popup der Kontext-Hilfe, sondern es erscheint die erste Seite aus der Hilfedatei in einem separaten Hilfefenster. Das passiert bei Delphi 7 (Pro, btw) übrigens selbst auch. Wenn ich Delphi gestartet habe und die Hilfe (den Inhalt) aufrufe, dann blinkt im Hintergrund kurzzeitig ein Hilfefenster auf, bevor das Inhaltsverzeichnis erscheint. Dann wird´s wohl an meinem System liegen. Allerdings wüsste ich nicht warum. Wird wohl dann ein ewig ungelöstes Rätsel bleiben. :( Ich häng mal ein Bild ran: So sieht´s bei mir aus, wenn ich die Kontext-Hilfe des Editfeldes aufrufen möchte. Dass das Editfeld eigentlich ein Kontext-Popup anzeigt, muss ich sicher nicht erwähnen. |
Re: Probleme mit HLP-Datei unter Delphi 7
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Mathias,
verzeih mir, aber wie gesagt ich habe keine Erfahrung mit der Hilfeprogrammierung, daher habe ich beim Test Deines Demos auch zu wenig genau beobachtet :oops: . Zitat:
und komme zum gleichen Ergebnis wie Du: p.s. Ich werde morgen noch einmal auf meinem Rechner in der Fa. den gleichen Test machen. [EDIT] Heute in der Fa. mit D7 Ent. habe ich das gleiche Ergebnis. Ich habe das Demofenster nun weit rechts am Desktop platziert und sehe nun kurzzeitig bei der Kontexthilfe auch das Popup: "Dies ist mal nur ein Popup-Text." der manchmal verschwindet, manchmal aber stehen bleibt und eben das Hilfefenster. [/EDIT] |
Re: Probleme mit HLP-Datei unter Delphi 7
Zitat:
Gruss Daniel
Delphi-Quellcode:
result := WinHelp(application.Handle,PChar(Application.Helpfile),command,data);
CallHelp := false; |
Re: Probleme mit HLP-Datei unter Delphi 7
Ich habe kein Delphi 6 oder 7 mehr. Für das bisschen, was ich so mache, reicht D5. Und sonst habe ich SharpDevelop. Wenn irgendwer mit diesen Versionen das mal ausprobieren und ggf. das korrekte Funktionieren bestätigen könnte, dann wäre das aber dennoch erwünscht.
|
Re: Probleme mit HLP-Datei unter Delphi 7
Die gepostete Lösung funktioniert soweit, als es den beschriebenen Effekt den auch ich beobachten konnte beseitigt.
Allerdings führt dann ein Aufruf von Application.HelpJump('') dazu, das nichts mehr angezeigt wird. Gruß Uwe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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