AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [IDE-Experte (2006,07,09,10,XE,XE2)] CustomHelp
Thema durchsuchen
Ansicht
Themen-Optionen

[IDE-Experte (2006,07,09,10,XE,XE2)] CustomHelp

Ein Thema von chaosben · begonnen am 29. Sep 2009 · letzter Beitrag vom 8. Jan 2014
 
a-s-z-work

Registriert seit: 23. Feb 2009
8 Beiträge
 
RAD-Studio 2009 Ent
 
#11

Re: [IDE-Experte] CustomHelp

  Alt 7. Okt 2009, 16:18
Hi Marco,
Zitat von MarcoWarm:
es gibt die Möglichkeit eine Volltextsuche im IHxSession durchführen IHxSession.Query entweder im kompletten Artikeltext mittels des NavDataMonikers '!DefaultFullTextSearch' oder nur in den Keywords mittels '!DefaultKeywordIndex' . Ersteres ist bereits eingebaut... letzteres bringt manchmal weniger Resultate als das suchen über den Slot.
ich habe in der Zwischenzeit noch viel ausprobiert. Die Dokumentation zu den Schnittstellen des Hilfesystems ist ja leider sehr spärlich
Nach langem Rumprobieren und Studieren des Quellcodes der HelpIntf.pas habe ich viel hinbekommen:
  • Das Standard-Hilfesystem funktioniert nicht richtig, wenn ein anderer HelpSelector aktiv ist. Aufrufe an ms-help-URLs gehen ins leere, weil die Implementierung nicht die spezialisierte Methode IExtendedHelpViewer.DisplayTopic aufgerufen wird. Das wird durch CustomHelp behoben.
  • Das Durchreichen von Ergebnissen aus anderen Hilfe-Providern ist jetzt möglich. madExcept hat z.B. auch einen ICustomHelpViewer der die Hilfeseiten im IE aufruft.
  • Insbesondere können dadurch Fundstellen der MSHelp2 von anderen Providern durchgereicht werden. Das RAD Studio findet ja irgendwie doch mehr Ergebnisse, als die reine Schlüsselwortsuche
    Das größte Problem war dabei die Ermittlung des Titels und der Beschreibung eines Topics anhand der URL, damit das Ganze in der Suchübersicht auch vernünftig aussieht. Da gibt es leider keine direkte Funktion in den MSHelp2-Interfaces Durch intensives Debugging habe ich aber einen Weg gefunden 8) Man muss sich das Interface IHxHierarchy analog zu dem Index besorgen. Da kann man dann die Funktion GetSyncInfo verwenden, um an das Topic (IHxTopic) mit allen benötigten Informationen heranzukommen.
    Ohne vernünftige Dokumentation ist das ziemlich mühsam, das alles herauszufinden


Anbei gibt es den Patch für die aktuelle Revision (R343). Ich würde mich freuen, wenn man das in CustomHelp übernehmen würde.

Nachfolgend die Änderungen/Erweiterungen im Einzelnen:
  • Vollständiges Durchreichen der anderen Hilfe-Provider (ICustomHelpViewer, z.B. madExcept, BDS Standardsuche)
  • Anzeige der Standard-Suchergebnisse des BDS.
  • Möglichkeit zum Ermitteln von Titel und Beschreibung von MSHelp2-URLs.
  • Möglichkeit zum Umleiten von beliebigen Protokollen (z.B. file://, http://) auf die Willkommens-Seite.
  • Verallgemeinerung der Pfade in der Projektdatei ($BDS), $(BDSCOMMONDIR)
  • Debuggen der IDE in der IDE durch Verwendung der Option -r, damit sich die IDE-Instanzen nicht in die Quere kommen.
  • Verlagerung einiger Funktion aus TMyViewer in TCustomHelp, teilw. Umwandlung in Klassenmethoden
  • Verbesserung des Verhaltens, wenn das Package wieder entladen wird (HelpSelector wird dann ungültig).
  • Neuer Standard-Suchprovider: MSDN Online
  • Verbessertes Fehlerverhalten bei "kaputten" Namespaces (Alle Fehler werden in der Übersicht angezeigt).
  • Layoutverbesserung in der Ergebnisanzeige: Nur 1/3 der Breite für die Beschreibung.
  • Usability: Der erste Eintrag in den Suchergebnissen wird automatisch selektiert.
Angehängte Dateien
Dateityp: txt customhelp-rev343-20091007.patch_103.txt (64,2 KB, 10x aufgerufen)
Andre
CU,
Andre
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz