context sensitive help in borland builder

This section is for programmers. Please use it for all discussons on interfacing help with your applications and related subjects.

Moderators: Alexander Halser, Michael Schwarzl

Post Reply
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

context sensitive help in borland builder

Unread post by pmennen »

I want to use context sensitive help in my builder c++ project (version 5).
I downloaded ehs.zip and installed it. The Helpman wizard appears
to be properly installed in builder 5. I can run the help wizard and
it will automatically insert topics for every control on the form I select.
I entered some text into some of the topics, and compiled the help
project into a .chm file. Then I moved the chm file to the same directory
containing the .exe of the borland c++ project. (I assume that is the
correct place for it.) I also recompiled the c++ project as instructed
in the hlp. However when I run the borland exe file, select one of
the controls and press F1, nothing happens. I think I am missing
something. I probably have to do something to enable the F1 context
sensitive help action and possible connect it to the chm file, but the
help file that came with ehs seems to be silent on this subject.
I would appreciate any suggestions you can offer.
Thanks.
~Paul
User avatar
Tim Green
Site Admin
Posts: 23181
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Unread post by Tim Green »

Paul,

I'm not a programmer myself but have you looked at the tutorial links on the EC Software site here:

http://www.ec-software.com/tutorial.htm
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

> I'm not a programmer myself but have you looked at the tutorial links on
> the EC Software site here: http://www.ec-software.com/tutorial.htm

Yes I did check those out. There is a tutorial for the Microsoft C++
environment but not for the Borland. There is also a tutorial for
the Delphi Pascal environment which is similar to Builder although
I still couldn't figure out from that what I was missing. Since it seemed
that people had used it with Builder as well I was hoping someone
might recognize what my missing link was.

Thanks.
~Paul
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

Actually I forgot to mention that I did eventually get context sensitive
help to work when I changed the output format to .HLP, however this
format is considered passe by some and I wanted to use the newer
.CHM (compiled html) format. When I switched to this format, it no
longer worked. I searched for how to do this on google groups and
I found the following post by Alexander Halser:

> You could use our (free) component suite "EC Software Help Suite" (EHS). The
> THelpRouter component does exactly what you want: it automatically
> translates HLP calls of your software to CHM calls. Just drop a router
> component on your main form and change the help file format to HTML HELP.
> EHS works with C++ Builder 5 and 6.
> Alexander Halser
> http://www.ec-software.com

Is this described in any more detail in the documentation?
I didn't find a component called THelpRouter, nor is this description
very clear about how one is supposed to use it.

Thanks
~Paul
User avatar
Tim Green
Site Admin
Posts: 23181
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Unread post by Tim Green »

Paul,

Not being a programmer -- as an author I just give the programmers lists of IDs and context numbers and say "Link it please" -- I really can't help on the details of this. But I can confirm that a) Your decision to switch from WinHelp to CHM is 1000% correct and b) Context help works fine in CHMs, it's just a question of getting the calls right.

I would suggest contacting EC Software directly at support AT ec-software.com. Include your H&M purchase details, that will speed things up.

Tip:
If you go to Project > Project Properties > HTML Help Export > Popup Topics you can activate "dual-mode help". This creates a classic .HLP file for the popups (which you must also distribute with your application). The advantage of this is that it allows you to use formatted text and graphics in your popups (but not links, links from .HLP to .CHM don't work without a lot of trickery). Also, you would be able to call the popups with standard WinHelp calls, because the popup file is effectively a WinHelp help system.
Last edited by Tim Green on Wed Mar 02, 2005 8:30 am, edited 1 time in total.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

> ... Context help works fine in CHMs, it's just a question of getting the calls right.
> I would suggest contacting EC Software directly

Ok, I guess I'm going to have to do that. It's really a shame though
because I am so close to figuring it out. There are litterally
hundreds of references about the THelpRouter component.
It is clear this component does exactly what I need. Unfortunately
I can't find it. There are many dozens of components and I've
looked at every single one carefully and it is pretty clear that
none of them are called anything like THelpRouter. So I must
have to install it from the files that appeared in the Delphi
directory when I installed the EHS suite. However I'm not sure which
of these files are relevent. I spent an hour or so reading about borland
packages and components but my eyes glazed over after awhile.
Pretty arcane stuff. I tried a few random guesses of what to do with
no luck. It seems incredible to me that EC software makes everything
else so easy, and this one last step so incredibly difficult.
(unless I'm just incredibly dense). I'd be willing to bet, that two
lines of text would be sufficient to explain how to install this component
yet they chose to make the customer suffer thru figuring this out.
(I've read all the help files and tutorials cover to cover and it
never mentions anything about how to install this component!)

> If you go to Project > Project Properties > HTML Help Export > Popup
> Topics you can activate "dual-mode help".

Thanks for the tip, although I must admit that I don't understand
exactly what it is that you can do in the .HLP file that you can't
do in the .CHM file.

~Paul
User avatar
Tim Green
Site Admin
Posts: 23181
Joined: Mon Jun 24, 2002 9:11 am
Location: Bruehl, Germany
Contact:

Unread post by Tim Green »

Paul,
pmennen wrote:Thanks for the tip, although I must admit that I don't understand
exactly what it is that you can do in the .HLP file that you can't
do in the .CHM file.
Popups in .CHMs are normally plain text only. No bold, no italic, no graphics no nothing, just ASCII and nothing but ASCII. Using dual-mode with a .HLP file for your popups and context help allows you to use formatting and graphics.
Regards,
Tim (EC Software Documentation & User Support)

Private support:
Please do not email or PM me with private support requests -- post to the forum directly.
User avatar
Martin Wynne
Posts: 2656
Joined: Mon May 12, 2003 3:21 pm
Location: West of the Severn, UK

Unread post by Martin Wynne »

pmennen wrote:There are litterally hundreds of references about theTHelpRouter component.
It is clear this component does exactly what I need.
Unfortunately I can't find it.
Hi Paul,

Download the EHS from http://www.ec-software.com/comppage.htm

Martin.
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

> Download the EHS from http://www.ec-software.com/comppage.htm
> Martin.

Thanks for the reply Martin, although I have already downloaded
and installed EHS. (Otherwise I wouldn't have been able to run
the help wizard I mentioned). So the source for the THelpRouter
component is in my Delphi directory, however there are no instructions
on how to install it. This seems to be an arcane subject and I was
hoping for some guidance. I've tried a dozen different ways but
none of them the correct way.

~Paul
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

Actually I should get a little more specific:

When I go to "Components", "Install Packages", there is a
Design Package in the list called "Help & Manual Project Wizard".
When I highlight this package, the associated file shown is
"C:\Program Files\Helpman\Delphi\HelpmanRCL_B5.bpl"
(I did eventuall "Add" this package, but now I'm pretty sure
it was already in the list before I added it).

Now with this package still highlighted, I click on "Components"
a window comes up titled "Installed components", however
the window is blank. I really expected the four components
(THelpRouter, TWhatsThis, THelpContextMap, TTrainingCard)
to be in this list. So where are they?????

Thanks to anyone who can give me a clue.

~Paul
User avatar
Martin Wynne
Posts: 2656
Joined: Mon May 12, 2003 3:21 pm
Location: West of the Severn, UK

Unread post by Martin Wynne »

pmennen wrote:So the source for the THelpRouter component is in my
Delphi directory, however there are no instructions on how to install it.
This seems to be an arcane subject and I was hoping for some guidance.
Hi Paul,

The best starting point is to open the EHS help file. On my Delphi5 system:

...\Program Files\Borland\BDS\3.0\EHS\EHS.HLP

THelpRouter is in ehshelprouter.pas, but the way to install it is to open the
relevant ehs_dn.dpk package file in Delphi and compile it.

Martin.
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

> THelpRouter is in ehshelprouter.pas, but the way to install it is to open the
> relevant ehs_dn.dpk package file in Delphi and compile it.
> Martin.

Sorry Martin, I should have made it clear I am not running Delphi,
I'm using Borland Builder C++ ver 5, so I'm not sure your suggestions
are relevent. I am surprised however that the ehs_dn.dpk package file
is not in the directory created by EHS. These are all the files there:

----------------------------------------
HelpmanRCI_B5.bpl
uHelpmanRCIConfig.dfm
uHelpmanRCIMain.dfm
uHelpmanRCISingleInsert.dfm
HelpmanRCI_D5.dpk
HelpmanRCI.hlp
ECHMRCI3_Def.inc
ECHMRCI3_intf.pas
uHelpmanRCI.pas
uHelpmanRCIConfig.pas
uHelpmanRCIMain.pas
uHelpmanRCISingleInsert.pas
helpmanrci.res
HelpmanRCI_D5.res
------------------------------------
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

Ok, cancel all my prior pissing an moaning.
After much thrashing I decided to just install the ehs again and what
I discovered is that in addition to the delphi directory that it installed
in the helpman folder there was another folder installed called EHS
under the borland directory as Martin was indicating. (I think
this wasn't there the first time, but who knows, I may have missed it).
There was just enough stuff in the delphi directory that I thought
that this was all there was. No amount of effort playing only
with that directory could ever get it to work.

I have to admit, that once I found the second installed directory
it was all a piece of cake. I had the components installed, used
them in my application and had it all working in 5 minutes.
And to think I wasted about a day on a 5 minute job. Ouch!!

Thanks for your patient replies.

~Paul
User avatar
Martin Wynne
Posts: 2656
Joined: Mon May 12, 2003 3:21 pm
Location: West of the Severn, UK

Unread post by Martin Wynne »

pmennen wrote:Ok, cancel all my prior pissing an moaning.
Hi Paul,

Glad you solved it. I was just about to post this:
pmennen wrote:----------------------------------------
HelpmanRCI_B5.bpl
...
HelpmanRCI_D5.res
------------------------------------
Those files are part of H&M and are located in the ...\Helpman3\... folder.

They are the Help & Manual Project Wizard (which helps you to create an
H&M project file from within your Delphi/Builder IDE). You will find it in the
Tools > Help & Manual Project Wizard... menu item in the IDE, but it is not
the EHS and not what you are looking for!

Look instead in your ...\Borland\BDS\... folder for the EHS files.

I agree that the documentation isn't very clear about this.

Sorry I couldn't respond earlier, I have been away from my computer for a
few hours.

Martin.
pmennen
Posts: 11
Joined: Wed Jan 19, 2005 6:03 pm

Unread post by pmennen »

> ... I have been away from my computer for a few hours.
> Martin.

Gee, is that allowed :)

~Paul

p.s. Thanks Martin.
Post Reply