AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HTML-Hilfedatei, keine Kontentanzeige

Ein Thema von waldforest · begonnen am 15. Jun 2014 · letzter Beitrag vom 4. Nov 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 15. Jun 2014, 20:52
Ein aktuelles WinHelp ist auch installiert?
http://support.microsoft.com/kb/917607/de und http://www.soft-ware.net/tipps/tipp5...-angezeigt.asp

Die CHM ist im Prinzip nur eine ZIP-Datei mit den HTML-Dateien drin ... da könnte es schon sein, daß es auch unkomprimiert geht.


Um welche Windowsversion handelt es sich denn und wo liegen die Hilfedateien (z.B. Netzlaufwerk)?


Wir sind letztendlich auf Help&Manual umgestiegen und dafür hab ich dann noch einen billigen HTTP-Server erstellt, welcher die Hilfe lokal bereitstellt, weil der IE HTML-Dateien aus dem Intranet nicht wirklich mag.
(von dem kleinen HTTP-Server, welcher Help&Manual bereitestellt wird, um ebenfalls Probleme zu umgehen, von dem kann ich aus Sicherheitsgründen nur abraten)

Es ist schon erstaunlich, daß nach so vielen Jahrzehnten Computergeschichte praktisch kein Hilfesystem existiert, welches wirklich immer und überall läuft.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Jun 2014 um 20:57 Uhr)
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 05:27
Halllo,
ich habe die aktuellen Datei geladen, aktuell liegt die Hilfe noch auf meinem Desktop PC, soll aber zukünftig im Netzwerk zur Verfügung gestellt werden. Aktuell nutze ich WIN 7.
Den beschriebenen Artikel habe ich schon gelesen, wie gesagt, die Hilfedatei ansich wird durch Windows erkannt und sauber angezigt, nur der Aufruf aus meiner Anwendung mit der entsprechenden ID erfolgt nicht.
Von daher gehe ich davon aus, dass es eher ein Problem der Delphianwendung ist.

Gibt es ein Beispiel, welches unter XE3 erstellt wurde ?
mfg wf
  Mit Zitat antworten Zitat
pmoegenb

Registriert seit: 24. Aug 2006
Ort: Aidlingen
155 Beiträge
 
Delphi XE6 Professional
 
#3

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 08:27
Hallo,

Hast Du die Unit HTMLHelpViewer in der .dpr-Datei angegeben ?

z. B.:
Delphi-Quellcode:
program AKGeb32;

uses
  Forms,
  HTMLHelpViewer, etc.
  • Die Hilfedatei .chm muss entweder in den Projektoptionen oder den einzelnen Forms ohne Pfadangabe angegeben werden.
  • Die Constantendatei von HelpnDoc wird nicht benötigt.
Du gibst z. B. wenn Du den Inhalt anzeigen möchtest folgenden Code an:

Application.HelpShowTableOfContents;
oder Keyword:

Application.HelpKeyword('Glossar');
oder HelpContext:

Application.HelpContext(15);
an.

P. S.: Die Registry muss außerdem für die Schlüssel:
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x]
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x \HHRestrictions]
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x \ItssRestrictions]

einen entsprechende Eintrag erhalten
Peter Mögenburg
Gruß

Peter

Geändert von pmoegenb (16. Jun 2014 um 08:43 Uhr) Grund: Ergänzung
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 10:51
Hallo,
vielen Dank für die Tipps.

Ich habe dies so umgesetzt, hat leider nicht zum Erfolg geführt.

Wenn ich

Application.HelpKeyword('Glossar');
oder HelpContext:

Application.HelpContext(15);
aufrufe erfolgt ein Exception, Stack Overflow
mfg wf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#5

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 11:55
Und wo knallt es?

(Falls du die Debug-DCUs deaktiviert hast, solltest du sie mal vorübergehend wieder aktivieren)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 12:27
Hallo,
hier ruft sich die OnHelp wohl selber auf.


@Es scheint eine echte Herausforderung zu sein ein Hilfesythem aufzubauen.
mfg wf

Geändert von waldforest (16. Jun 2014 um 12:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#7

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 13:00
Wo hast'n das Application.HelpKeyword('Glossar'); aufgerufen?
Könnest du einfach mal den stacktrace kopieren, nach der exception?

Ja ist es.
Wir hatte da am Ende bestimmt 2-3 Monate lang immer mal wieder dran gesessen und versucht rauszufinden was nun wieder knallt, bis es dann bei allen großen Kunden mal lief.



Aktuell hab ich das OnHelp selbst implementiert, da wir die Hilfeeinträge live aus der Datenbank ziehen und dort hinterlegt haben welches Control/Fenster mit welcher Hilfeseite verlinkt ist.
* Hilfe = eine der HTML-Dateien vom Help&Manual, inkl. eines optionalen Anchor oder eine direkte URL
* Die Tabelle ist auch in der Synchronisation, so daß man die Hilfe problemlos und voallem unabhängig von Programmupdates erweitern kann.

Das Ganze wird standardmäßig an den Standardbrowser geschickt, kann aber auch Programmintern in einem Fenster mit TWebBrowser angezeigt werden. (ein alternatives Programmfenster mit Chromium war auch mal mit drin, aber ist dann doch wieder rausgeflogen, obwohl der TWebBrowser vorallem in Serverumgebungen mit Netzwerkpfaden nicht funktioniert)
Und ein paar Anpassungen am JavaScript/CSS des Help&Manual waran damals auch nötig, weil der TWebBrowser damit nicht zurecht gekommen ist, bzw. diese Funktionen einfach "sperrte".

Und dann läuft die Verbreitung mit über einen AppServer im Intranet, wo ich via TidHTTPServer die Hilfedateien freigebe. Die Dateien könnten aber auch via externem HTTP-Server oder Netzwerkfreigabe (file:) geladen werden. Und theoretisch kann man HTML-Dateien auch direkt aus den Resourcen einer EXE/DLL via RES:-Protokoll vom Windows streamen lassen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#8

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 19:57
Halllo,
ich habe die aktuellen Datei geladen, aktuell liegt die Hilfe noch auf meinem Desktop PC, soll aber zukünftig im Netzwerk zur Verfügung gestellt werden. Aktuell nutze ich WIN 7.
Ich hatte mal Probleme, dass, wenn die Hilfe auf dem Netz liegt, diese nicht geladen wird. Dann habe ich diese beim Start ins Userverzeichnis kopiert und dann ging es. Aber du hast ja schon Probleme, wenn du die Hilfe lokal starten willst.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 20:17
Hallo,
anbei mein Aufrufstack,

die ersten Aufrufe, welche sich unzählige male wiederholen habe ich nicht mit dabei getan.


F_Wkorb.TWkorb.FormHelp(1,1002,True)
Vcl.Forms.TApplication.DoOnHelp(1,1002,True)
Vcl.Forms.TApplication.HelpContext(1002)
F_Wkorb.TWkorb.FormHelp(1,1002,True)
Vcl.Forms.TApplication.DoOnHelp(1,1002,True)
Vcl.Forms.TApplication.HelpContext(1002)
F_Wkorb.TWkorb.FormHelp(1,1002,True)
Vcl.Forms.TApplication.DoOnHelp(1,1002,True)
Vcl.Forms.TApplication.HelpContext(1002)
F_Wkorb.TWkorb.FormHelp(1,1002,True)
Vcl.Forms.TApplication.DoOnHelp(1,1002,True)
Vcl.Forms.TApplication.HelpContext(1002)
Vcl.Forms.TCustomForm.WMHelp((83, (), 0, $8ADF0, 0))
Vcl.Controls.TControl.WndProc((83, 0, 568816, 0, 0, 0, (), 44528, 8, (), 0, 0, ()))
Vcl.Controls.TWinControl.WndProc((83, 0, 568816, 0, 0, 0, (), 44528, 8, (), 0, 0, ()))
Vcl.Forms.TCustomForm.WndProc((83, 0, 568816, 0, 0, 0, (), 44528, 8, (), 0, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
System.Classes.StdWndProc(330554,83,0,568816)
Vcl.Controls.TWinControl.DefaultHandler(???)
mfg wf

Geändert von waldforest (16. Jun 2014 um 20:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#10

AW: HTML-Hilfedatei, keine Kontentanzeige

  Alt 16. Jun 2014, 22:42
Hilfe-Aufrufe werden erst an Application.OnHelp, bzw. TApplicationEvents.OnHelp geleitet und wenn sie dort nicht verarbeitet wurden, dann auch nochmal an ActiveForm.OnHelp und erst danach landet der Aufruf bei
HelpSystem.Hook(..., ActiveForm.HelpFile, {Hilfe-Index/Context}...) // wenn eine Hilfe-Datei bei ActiveForm.HelpFile angegeben wurde
und wenn nicht vorhanden oder es False lieferte, dann bei
HelpSystem.Hook(..., Application.HelpFile, {Hilfe-Index/Context}...) // wenn eine Hilfe-Datei bei Application.HelpFile angegeben wurde
und wenn es das auch nicht gibt, oder es ebenfalls False lieferte, dann bei CM_INVOKEHELP
PostMessage(..., CM_INVOKEHELP, {Hilfe-Index/Context}...);

Wenn man also in einem dieser OnHelp die Hilfe nochmals aufruft, dann landet man natürlich in einer Endlosschleife,
außer man verlässt diese Hilfestruktur, verarbeitet den Aufruf selber oder gibt den Aufruf direkt an das HelpSystem oder CM_INVOKEHELP weiter (und sagt natürlich Result:=True und CallHelp:=False).
Wenn die Parameter Command und Data richtig sind und man nichts "Anderes" aufrufen will, dann kann man mit Result:=True und CallHelp:=True der Hilfestruktur sagen, daß es das selber an HelpSystem oder CM_INVOKEHELP weitergeben soll, ohne andere OnHelp auszulösen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (16. Jun 2014 um 22:55 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:41 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