Solved

How to convert my pre-XE html help to the native form?

Posted on 2014-09-14
1
254 Views
Last Modified: 2014-09-15
Under the Embarcadero hack in Delphi 2000, I nullified the call to windows help, by the assignment:
Application.Onhelp := FormHelp; - with an associated function.

Actually my calls to help were in this form
  _HHwinMain := HtmlHelp(application.handle, PChar(Help_File + '>MainView'), HH_DISPLAY_INDEX, 0); - or something similar.

I now can't get it to work, and would like to implement the native htmlHelp calls.

How do you do this?
0
Comment
Question by:GrahamDLovell
1 Comment
 

Accepted Solution

by:
GrahamDLovell earned 0 total points
ID: 40324120
Prior to making htmlhelp native, Embarcadero instructed users to include the following global function:
function HtmlHelp(hwndCaller: HWND;
  pszFile: PChar; uCommand: UINT;
  dwData: DWORD): HWND; stdcall;
  external 'HHCTRL.OCX' name 'HtmlHelpA';

Open in new window

This has to be removed when including the unit HTMLHELPViewer in the main uses clause, as does the assignment Application.OnHelp := HH; and the associated HH function.

As before, create your help file in HTMLHelp Workshop (free from Microsoft at http://www.microsoft.com/en-au/download/details.aspx?id=21138)

The steps to incorporate help in VCL are simply:
1. Put HTMLHelpViewer in the main form's uses clause.
2. Assign the helpfile filename (full path) to Application.helpfile. Do this in createform.
3. To display the Table of Contents, make the call: HtmlHelp(0, Application.HelpFile, HH_DISPLAY_TOC, 0);
4. As before, to call help from a button, make the button "kind" bkHelp, and assign the topic number to HelpContext.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This video discusses moving either the default database or any database to a new volume.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now