Last update: 03-Dec-2009
The Delphi HH Kit is a free download for Delphi 2/3/4/5/6/7/etc. It consists of 2 units & doc file.
The first unit is a port of C++ header file "HtmlHelp.h".
The second is a library of HTML help related functions "hh_funcs.pas".
We also provide a suite of advanced HH Code Examples (see below).
Remember that in Delphi 2006 and above (I think) the system file Windows.pas now defines the HtmlHelp() API function for you. So consider using that if all you just need to launch help.
The suite of code examples (see below) are compatible with Delphi 2/3/4/5/6.. 2009/2010. These can be downloaded from the HH Kit Yahoo group Files area.
Marcel van Brakel has begun the work of converting the Delphi HH Kit, into C++Builder for Project Jedi.
Download C++ HH Kit - (hhcode_and_exe_BCB.zip) 2003-6-11, Release 1.1
Description: Want to know how to code for MS HTML Help in Borland C++ Builder? Marcel van Brakel has begun the work of converting the Delphi HH Kit examples (above) into Borland C++ Builder code. This is must-have code for all Borland C++ builder developers.
Status: Free Code & Examples.
V1.0 2002-1-22: Original upload. Contains 4 code example.
V1.1 2003-6-11: Fix uninitialized variable in Example2\unit1.cpp. Was: "DWORD PathSize;" Now: "DWORD PathSize = 255;"
Author(s): Marcel van Brakel
Important: Delphi 6 and above broke the OnHelp event which we rely on to override the Delphi WinHelp system (you will notice the some help events no longer fire). Please make sure you download "Delphi Example 12" which includes a fix file (D6OnHelpFix.pas). All you need to do is include the D6OnHelpFix.pas unit anywhere in your project and all help events will then fire as they did in Delphi 3/4/5. Delphi 2009+ seems to have fixed the problem and wont require the fix.
Description: Delphi 6 has broken the TForm.OnHelp & TApplication.OnHelp events. OnHelp now only catches a few help events. OnHelp was the easiest way to convert a program over to using non-WinHelp online help. The fix is a unit (D6OnHelpFix.pas) you simply use in your project. Documentation is provided with the download. There is also a small demo. The fix works for Delphi 6 and above as well as C++ Builder 6 and above.
Status: Free Code & Example.
Author(s): Rob Chandler, Marcel van Brakel
Borland C++ Builder 6 has the same problem (since Delphi and C++ Builder share the same VCL code).
Bernward Mock kindly describes how he uses the Delphi OnHelp Fix in his Borland C++ Builder projects.
Here are the steps I performed in BCB6:
Thats all. There is no need for a #include.
If German is your first language you should check out Martin Strohal's German Delphi web site:
The Delphi HH Kit and Code Examples (below) actually accompany a technical paper I wrote while under contact to Work Write Inc.Cheri has graciously made the document free to download from her Help Think Press web site. Technical Paper:
The code examples show you how to program all HTML Help API commands, how to embed the IE WebBrowser and HH windows into your Delphi applications, how to write "What's This" help, how to create ActiveX extensions for Chm Help files, and how to change your WinHelp based applications over HTML Help. And much more.
Last update: 24-Feb-2006 - Minor update - Updated core files hh.pas, hh_funcs.pas, D6OnHelpFix.pas.
For more information see the readme.txt file in each example folder.
To get the code examples you need to subscribe to our "DelphiHHKit" EGroup Newsletter.
Why Subscribe?
How to Download HH Kit 1.09
Once you have the code you are free to unsubscribe, but we hope you will stay on so we can keep you up to date. We plan to post members 1-4 times a year depending on what develops.
Posted on Dec 3rd 2009
HH Kit 2.1 Uploaded Yahoo Group. HH Kit 2.1 is test with Delphi 2009 & Delphi 2010
http://tech.groups.yahoo.com/group/DelphiHHKit/files/
Code examples have not really changed since the last 2009 update.
hh.pas – The HtmlHelp() function is either Ansi or Unicode depending on the Delphi you are running (Delphi 2009 + is Unicode).
hh_funcs.pas – Now compiles under Delphi 2010.
As I understand it Delphi 2006 and up now has the basic HtmlHelp() API declaration in Windows.pas. So consider using that instead of hh,pas if you just need to do basic calls to open help.
Also I believe that Delphi 2009 and up has fixed the “Help Events not firing” bug. So our special unit D6OnHelpFix.pas should not be required on newer Delphi systems.