Porting an application using Winhelp32 to BDS 2006/7 the HelpJump calls appear not to work.

Abstract: In porting a Delphi or C++Builder application using a Winhelp32 help file to BDS 2006/7 you might find that calls to HelpJump refuse to work

This is due to an issue in WinHelpViewer.pas, the issue has been reported and should be resolved in later versions. But by modifying WinHelpViewer.pas as follows and adding the unit to your Delphi or C++Builder project the problem should be resolved.

This will of course only work for NONE package using applications.

{ TWinHelpViewer --- IExtendedHelpViewer }

{ UnderstandsTopic is called by the Help Manager to ask if the Viewer
  is capable of displaying a topic-based help query for a given topic. 
  Its default behavior, like all default behaviors in this file, is 
  opposite for Windows than it is for linux. }

function TWinHelpViewer.UnderstandsTopic(const Topic: String): Boolean;
begin
  { after setting the defaults, if there's a Tester, ask it. }
  if Assigned(WinHelpTester) then
    Result := WinHelpTester.CanShowTopic(Topic, HelpFile(''))
  else
  //****** Modified*************
  {$IFDEF MSWINDOWS}
  Result := True;
  {$ENDIF}
  {$IFDEF LINUX}
  Result := False;
  {$ENDIF}
  //****** Modified*************
end;

Author: Roy Nelson