Hilfefunktion



  • Hallo zusammen,

    ich habe ein Proble mit der Hilfefunktion. Und zwar moechte ich gerne eine Hilfe wie zum Beispiel im IE o.ä. angezeigt bekommen.

    winhelp(0, HELP_FINDER)
    

    Damit bekomme ich es ja hin, dass eine ".hlp"-Datei wird, allerdings waere es mir lieber, wenn ich eine ".chm"-Datei oeffnen koennte. Ich habe es auch schon mit htmlhtlp(...) versucht, nur schafft die Funktion bei mir auch nur ".hlp"-Dateien. Bei 'chm' melden beide Funktionen, dass die Helpdatei fehlerhaft waere.

    Kann mir jemand sagen, wie ich eine 'chm'-Datei als Hilfefunktion oeffnen kann???

    Vielen Dank schon mal!



  • Wie sieht denn Dein Code mit HtmlHelp konkret aus?
    Also bei mir geht das immer Problemlos...

    http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconHowcallingthehtmlhelpapi.asp



  • Danke fuer die Info!
    Die Seite hatte ich auch schon entdeckt, nur leider akzeptiert meine HtmlHelp() nur zwei Argumente:

    virtual void HtmlHelp(
       DWORD_PTR dwData,
       UINT nCmd = 0x000F 
    );
    

    Von daher bin ich damit erstmal nicht ganz so klar gekommen.

    Ich habe den Aufruf der Hilfefunktion jetzt direkt ans Programm uebergeben:

    CMDIFrameWnd::OnHelp()
    

    und seitdem klappt es bei mir auch mit 'chm' 🙂
    Vorher hatte ich ja versucht, die Hilfefunktion manuell zu starten.
    Jetzt kommt bei mir zwar beim Beenden des Programms noch ein Fehler, der zum Absturz fuehrt, aber ich bin ganz zuversichtlich, dass ich noch herausfinde, warum 😉

    Trotzdem vielen Dank!



  • Du solltest auch
    CWinApp::EnableHtmlHelp
    aufrufen...



  • Habe ich ja gemacht 😉
    Seitdem funktioniert es ja bei mir auch.

    Nur wenn ich den Pfad fuer die Hilfedatei aendere:

    CWinApp::m_pszHelpFilePath
    

    dann stuerzt beim Beenden des Programms dieses mit einer Fehlermeldung ab:

    Debug Assertion Error in dbgheap.c
    Expression: _CrtIsValidHeapPointer(pUserData)

    Ansonsten klappt es; die entsprechend angegebene Hilfedatei wird gestartet.
    Falls Du eine Idee wegen des Fehlers hast, waere ich natuerlich sehr dankbar!!



  • Hast Du das Ändern auch so gemacht wie es in der Doku steht!?
    http://msdn2.microsoft.com/88yc06ef



  • Nein, habe ich nicht.
    Ich habe es ganz einfach mit folgendem Code gemacht:

    m_pszHelpFilePath=_T("...");
    

    Ich werde es gleich mal damit versuchen!
    Vielen Dank fuer den Tip!!

    ...bis zum naechsten Problem... 😉


Anmelden zum Antworten