Announcement

Collapse
No announcement yet.

Kompilierte HTML-Hilfe Datei in Delphi einbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kompilierte HTML-Hilfe Datei in Delphi einbinden

    Ich möchte statt der bekannten HLP-Dateien CHM-Dateien als Hilfen in meinen Projekten benutzen.
    <br>
    Ich hoffe, dass mir jemand sagen kann, wie dies mit Delphi 5 funktioniert.

  • #2
    Hallo,

    das folgende Beispiel demonstriert den Aufruf:

    <pre>
    const
    HH_DISPLAY_TOPIC = $0000;
    HH_HELP_FINDER = $0000;
    HH_DISPLAY_TOC = $0001;
    HH_DISPLAY_INDEX = $0002;
    HH_DISPLAY_SEARCH = $0003;

    function HtmlHelp(hwndCaller : HWND;
    pszFile: PChar;
    uCommand : Integer;
    dwData : DWORD) : HWND; stdcall; external 'hhctrl.ocx' name 'HtmlHelpA';

    ...
    HtmlHelp(0, PChar(Application.HelpFile), HH_DISPLAY_TOPIC, 0);
    ...
    HtmlHelp(0, PChar(Application.HelpFile+'::'+aTopic), HH_DISPLAY_TOPIC, 0);
    ...
    HtmlHelp(0, PChar(Application.HelpFile), HH_DISPLAY_TOC, 0);
    ...
    HtmlHelp(0, PChar(Application.HelpFile), HH_DISPLAY_INDEX, 0);

    </pre&gt

    Comment


    • #3
      Hallo Andreas,

      danke für die Hilfe. Inzwischen habe ich unter http://www.helpware.net 2 units für Delphi gefunden, mit denen man noch einfacher CHM-Files benutzen kann

      Comment


      • #4
        Ich habe mir die Helpware-units Abgeholt und getestet, das funktionierte gut.
        Nun weiss ich aber nicht wo der User das Programmm installiert (er hat ja Optionen), also weise ich der Help die physikalische Adresse mittels ExtractFilePath zu. Das kann ich schon mal bei der Projektinitialisierung vergessen, da dort die entsprechenden Variablen noch nicht vorhanden sind. Also weise ich die Adresse im Main Form zur Laufzeit zu. Diese wird auch prompt erkannt. Wenn ich danach (auch nach dem Schliessen der Hilfe) aber in ein Objekt komme, welches den OnMouseMove-Event aktiviert hat, habe ich eine Endlos-Exception (EAccessViolation) die mir das gesamte Programm ins Digital-Nirvana schickt

        Comment

        Working...
        X