[Lazarus] Help needed with bug 22485 ContextHelpDemo doesn't show proper help page & shows errors

Reinier Olislagers reinierolislagers at gmail.com
Fri Sep 5 13:22:26 CEST 2014


With Lazarus trunk x86, FPC trunk, Windows, the CHM help demo
Starting lhelp (using F1 in the Tedits or the button) gives "Help Viewer
Error", lhelp does not respond.

1. Is this reproducible on other OSes/FPC combinations?
2. I've tried to investigate the cause but I'm stuck. My notes below -
help/hints would be appreciated.
Thanks.

The error message shown is:
Dialog:
caption:
Help Viewer Error
text:
lhelp does not respond

lclconstants:
rsHelpViewerError = 'Help Viewer Error';
lazhelpintf.pas
procedure THelpDatabases.ShowError(ShowResult: TShowHelpResult;
  const ErrMsg: string);
//if ShowResult is
shrViewerError: ErrorCaption:=rsHelpViewerError;
...
MessageDlg(ErrorCaption,ErrMsg,mtError,[mbCancel],0);

So apparently we get an shrViewerError somewhere but I cannot find where
THelpDatabases.ShowError is called?
lazhelpchm.pas does have
function TLHelpConnector.ShowNode(Node: THelpNode; var ErrMsg: string
  ): TShowHelpResult;
//fallback/default
Result:=shrViewerError;
//later on:
Response:=Connection.OpenURL(CHMFilename,SubPath);
  case Response of
..
  srNoAnswer: ErrMsg:='lhelp does not respond';

So apparently we get an srNoAnswer in our OpenURL call??

At the lhelp end:
In lhelpcore.pas with debugging enabled, I see entries like
got rturl, filename C:\development\lazarus\tools\chmmaker\example.chm,
url /MainPage.html
and the function sends srSuccess
so we get proper handling in THelpForm.ServerMessage?!?
(The OpenURL function CANNOT return srNoAnswer - default result is
srInvalidURL; srNoAnswer is never assigned??)




More information about the Lazarus mailing list