Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Hilfe mit F1 aufrufen (https://www.delphipraxis.net/29102-hilfe-mit-f1-aufrufen.html)

Luckie 3. Sep 2004 23:39


Hilfe mit F1 aufrufen
 
Ich benutze chm-Hilfe Dateien in meinem Programm. Drückt man im Hautpfenster F1, so öffne ich eine betsimmte Seite in der Hilfe:
Delphi-Quellcode:
procedure TForm1.WndProc(var message: TMessage);
begin
  inherited;
  case message.Msg of
    WM_HELP:
      begin
        HtmlHelp(Handle, PChar(MYHELPFILE + '::\Programmoberfläche.html'),
          HH_DISPLAY_TOPIC, 0);
      end;
  end;
end;
Die Funktion Htmlhelp ist aus der entsprechenden Jedi Unit.

Jetzt habe ich folgenden Effekt:
Ruft man die Hilfe mit F1 auf und schliueßt man das Programm, kommt es zu einer AV. Ruft man die Hilfe nicht auf, geht alles ohne Problem. Der Fehler muss also im obigen Code sein.
Rufe ich die Hilfe per Button-Klick auf, geht auch alles wunderbar.

S - tefano 3. Sep 2004 23:43

Re: Hilfe mit F1 aufrufen
 
Wie sieht denn der Code aus, der die Hilfe auf Buttondruck auslöst?

Luckie 3. Sep 2004 23:47

Re: Hilfe mit F1 aufrufen
 
Identisch:
Delphi-Quellcode:
HtmlHelp(Handle, PChar(MYHELPFILE+'::\Interneteinstellungen.html'), HH_DISPLAY_TOPIC, 0);

S - tefano 4. Sep 2004 00:05

Re: Hilfe mit F1 aufrufen
 
Hmgrl. Weder JCL- noch JVCL Doku wollen mir jetzt irgendwas zu "HtmlHelp" sagen.
Hat beim Buttonklick keine andere Zeile was mit dem Hilfsaufruf zu tun?
Und: Ich kenn mich mit inherited nicht so gut aus, hab mir in der OH grad nur ein bisl Text überflogen. Kanns sein dass die WndProc die du "inheritierst" vielleicht selbst auch auf irgendeine Weise auf F1 reagiert und nicht überschrieben wird?

Luckie 4. Sep 2004 00:13

Re: Hilfe mit F1 aufrufen
 
Ich habs. Das dynamische Linken mag er nicht. Der Schalter in der zugehörigen Include-Datei muss deaktiviert sein:
Delphi-Quellcode:
{.$DEFINE HTMLHELP_DYNAMIC_LINK}

S - tefano 4. Sep 2004 00:16

Re: Hilfe mit F1 aufrufen
 
Ah, auf DelphiSource hab ich schonmal rausgefunden dass es die Unit da separat zu geben scheint und von einem Holländer stammt ;-)
Im Tut auf DS wird die Prozedur hier allerdings so verwendet, dass auf "::" ein Slash, und kein Backslash folgt.
Aber das tut ja nicht viel zur Sache, wenns beim Buttonklick trotzdem reibungslos klappt.

Hmhmhm. Doof is des

Luckie 4. Sep 2004 00:17

Re: Hilfe mit F1 aufrufen
 
Jupp, stammt von Marcel van Brakel, könnte mich eigentlich mal wieder bei ihm melden im ICQ. :?

S - tefano 4. Sep 2004 00:17

Re: Hilfe mit F1 aufrufen
 
hups :mrgreen:
öhm... Naja, also gern geschehen, war mir eine Freude dir wichtige Tipps zu geben die dich der Lösung näher gebracht haben :oops: :zwinker:

MathiasSimmack 4. Sep 2004 07:18

Re: Hilfe mit F1 aufrufen
 
Zitat:

Zitat von Luckie
Ich habs. Das dynamische Linken mag er nicht. Der Schalter in der zugehörigen Include-Datei muss deaktiviert sein:
Delphi-Quellcode:
{.$DEFINE HTMLHELP_DYNAMIC_LINK}

Ich habe keine Probleme mit diesem Weg. Bei mir stürzt nichts ab. Aber in deinem Fall kann es jetzt Probleme geben bei 95 und NT4, da diese ja noch nicht von Haus aus mit CHM ausgerüstet waren.

Luckie 4. Sep 2004 07:45

Re: Hilfe mit F1 aufrufen
 
Das weiß ich. Aber es liegt definitiv an dem dynamischen Laden. Was soll ich also anderes machen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.
Seite 1 von 2  1 2      

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