Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
Delphi 12 Athens
|
AW: HTML-Hilfedatei, keine Kontentanzeige
16. Jun 2014, 23: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
Geändert von himitsu (16. Jun 2014 um 23:55 Uhr)
|