Autor Beitrag
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 25.02.04 10:40 
(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:
  • Beim Aufruf von "Application.HelpCommand(HELP_FINDER, 0);" blinkt ganz kurz im Hintergrund das Hilfefenster mit der ersten Seite auf, dann erscheint das Inhaltsverzeichnis.
  • Beim Aufruf des Index mit "HELP_PARTIALKEY" und einem leeren String, ist im Hintergrund ebenfalls das Fenster mit der ersten Hilfeseite zu sehen.
  • Beim ?-Button in der Titelleiste das gleiche in Grün. Die erste Hilfeseite ist zu sehen, und wenn ich viel Glück habe, dann sehe ich sogar den eigentlich gewollten Popup mit der Kontext-Info zu einem Control.


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ß.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mi 25.02.04 15:58 
Also ich habe das mal ausprobiert (D6 Enterp).
Ich habe das Beispiel aus der Hilfe genommen.

Einmal mit
ausblenden Delphi-Quelltext
1:
Application.HelpCommand(HELP_FINDER, 0);					

und mit
ausblenden Delphi-Quelltext
1:
Application.HelpCommand(HELP_PARTIALKEY, 0);					

einmal kommt der Index (leer) und einmal der Index (mit vorselektiertem "v" ?!)

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 25.02.04 22:42 
Nee, das meinte ich nicht. Bei mir ist es so: Wenn ich die Hilfedatei zuweise und aufrufe:
ausblenden Delphi-Quelltext
1:
2:
Application.HelpFile := 'bla.hlp';
Application.HelpCommand(HELP_FINDER,0);

dann erscheint zwar das Inhaltsverzeichnis (sofern eine CNT-Datei vorhanden ist), aber vorher "flimmert" kurz die erste Hilfeseite auf und verschwindet dann. Dieses Problem gab es bei Delphi 5 nicht, und wenn ich direkt über das API gehe:
ausblenden Delphi-Quelltext
1:
WinHelp(self.Handle,'bla.hlp',HELP_FINDER,0);					

dann "flimmert" es auch bei D7 nicht.

Und bei der Kontexthilfe das gleiche: Ich klicke auf den ?-Button, und der Cursor ändert sich entsprechend. Klicke ich dann auf ein Control mit "HelpContext" erscheint nicht einfach bloß das gewünschte Popup mit der Kontext-Info, sondern es erscheint ein Hilfefenster mit der ersten Hilfeseite. Evtl. (die Betonung liegt dabei auf evtl) erscheint auch das Popup, aber das ist keineswegs immer der Fall.

Alles Probleme, die ich bei Delphi 5 nie hatte.


btw: Bei .NET wird´s wieder einfacher. CHMs, COLs (zusammengefasste CHMs als Collection) und HTMLs mit dem gleichen Befehl. Und Kontextinfos können direkt im Programm angegeben werden; eine Hilfedatei ist nicht erforderlich. ;)