BCB 10.0 / BDS 2006 - Fehlermeldung: "Keine kontextsensitive Hilfe installiert."



  • Tja, was eigentlich schon lange mit BCB 6.0 funzte, macht nun mit dem neuen BCB 10.0 bzw. BDS 2006 Probleme 😡 :
    Die einfache Zuweisung der Hilfe-ID mit dem nachfolgenden Code bringt zur Laufzeit die im Betreff angegebene Fehlermeldung. 😕
    Hab keinen Plan, please help... (was für'n Wortwitz, benötige Hilfe für die Hilfe... 🤡 )

    HILFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

    __fastcall TKnotenDlg::TKnotenDlg(TComponent* Owner)
                          :TForm(Owner)
    {
      //Initialisierung der kontextsensitiven Hilfe
      char ElektraPath[MAXPATH], TempPath[MAXPATH];
      InitPathReg(true, ElektraPath, true, TempPath);
    
      HelpFile = AnsiString(ElektraPath) + ELEKTRA_HLP;
      HelpContext = Knotenpunkte;
      //-------------------------------------------
    }
    
    void __fastcall TKnotenDlg::HilfeButtonClick(TObject *Sender)
    {
      Application->HelpContext(HelpContext);
    }
    


  • Schon mal mit dem Debugger probiert?

    Wer ist Knotenpunkte? Ist das versorgt?

    Würde erstmal den Rechner reparieren-> die E-Taste ist kaputt 😉



    1. Debugger bringt nichts, weder mit F7 noch Auswertung der Exception.
      Komm damit nicht an den "Ausstiegspunkt". 😞

    2. "Knotenpunkte" ist die ID, um zum Kontext in der Hilfedatei zu springen.
      Deshalb ja auch "HelpContext = Knotenpunkte". 💡

    3. Taste "E" repariert 😉

    Es ging ja früher alles, am Code ist in diesem Modul nichts geändert worden!



  • Ok, andersherum gefragt: Ein Haltepunkt an dieser Stelle

    HelpContext = Knotenpunkte;

    ergibt eine Wert für Knotenpunkte??

    und hier

    Application->HelpContext(HelpContext);

    ist dann der gleiche drin?



  • Ja, ja, bis dahin alles im Lot; hab ja schon minutenlang einiges probiert und debugged.

    Es geht auch schief, wenn

    HelpContext = 1;
    

    und demzufolge hier ankommt

    Application->HelpContext(1);
    

    Denn jetzt würde man entweder die Hauptseite angezeigt bekommen oder die übliche Meldung "Hilfethema nicht vorhanden, bla, setzen Sie sich mit bla in Verbindung", oder so ähnlich.

    Nee, hier is irgendwas grundsätzliches geändert gegenüber BCB 6.0, mich stört am meisten der Ausdruck "nicht installiert", normalerweise steht dann "nicht gefunden" oder "nicht vorhanden"...



  • Neue Erkenntnis:
    Es liegt nicht am Projekt!

    Lege ich ein neues Projekt an (ohne irgendwas hinzuzufügen außer einer Form natürlich) und weise der property "HelpContext" dieser Form einen Wert verschieden von 0 zu, versucht die Anwendung zur Laufzeit bei Drücken von F1 die entsprechende Hilfe zu starten ... eigentlich.
    Aber bei mir bleibts beim Versuch und scheitert kläglich unter Auswurf der bekannten Fehlermeldung 😡
    Der merkt ja nichmal, daß ich überhaupt keine Hilfedatei angegeben hab! 🤡
    (War Absicht, um mal 'ne andere Fehlermeldung zu provozieren, aber s.o.)

    Was is hier los? Fehler beim Installieren von BDS kann's auch nich sein, weil's bei 4 anderen Kollegen ebenso nicht funktioniert, und die Wahrscheinlichkeit, daß wir alle zusammen gleichzeitig versagt haben sollen ... 😕



  • Damit WinHelp unter BDS2006 funktioniert, muss folgender Code (z.B. im #include-Bereich des Hauptformulars) hinzugefügt werden:

    #include <WinHelpViewer.hpp>
    #pragma link "WinHelpViewer.obj"
    


  • DAS IST DOCH NICHT ZU GLAUBEN!!! 😮

    So einfach und es funzt! 👍

    Wieso muß das auf einmal "per Hand" extra hinzugefügt werden??? 😡
    Und wenn schon, wo ist dann die Information darüber für den "dummen" Entwickler versteckt (außer natürlich bei den Auskennern im Forum)??? 😕

    Persönlich die Frage an Serge: Wie bist Du draufgekommen?

    Naja, mein Adrenalinspiegel senkt sich wieder, alles (?) wird gut ... bis zum nächsten Prob.



  • Svensson schrieb:

    Persönlich die Frage an Serge: Wie bist Du draufgekommen?

    Hilfe gelesen, VCL-Quellcode angeguckt, gegoogelt. Die üblichen Quellen.
    Allerdings ist es schon länger her - bei Delphi gibt es die Änderung schon seit der 2005-er Version. BCB ist mit 2006er nachgezogen.

    Svensson schrieb:

    Naja, mein Adrenalinspiegel senkt sich wieder, alles (?) wird gut ... bis zum nächsten Prob.

    Also ich habe inzwischen auch einige hunderttausend LOC von BCB6 nach BDS2006 portiert und alles ist gut. Hakuna matata.


Anmelden zum Antworten