I need help (sorry, couldn't resist)

I want my application to have some help system (the F1 thingy). Actually my boss does. I've never done this before and I don't know how to use TApplication.HelpJump, HelpCommand, HelpContext. Links and tutorials are welcome. Thanks!
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Wim ten BrinkSelf-employed developerCommented:
My boss once told me that one application needed a helpfile too. I then told him that he would need to hire a helpfile writer if he really wanted this because writing a helpfile isn't something a normal developer has to do. (Basically, you need some good writing skills for that, being able to write using a clear and easy to understand words, and make no spelling errors.) Once the helpfile would be ready, we would be able to integrate it within the application.
But my boss changed his mind again once he realised this. Using an expensive developer to write documentation that could also be written by a cheap, young writer is a huge waste of resources. But he also failed to find someone who could write that helpfile so the application is still without any help support. And the company went tits-up (not my fault) so it will never have a helpfile either...

Once the helpfile is created, you would get some file containing constants that will just help you to jump to the proper location in the helpfile.
__alexAuthor Commented:
I use the HLP file from my anti virus for testing. I guess it's done by a professional help file writer.
Wim ten BrinkSelf-employed developerCommented:
Yep. But don't you want to use a real, related helpfile instead? Tell your boss to let someone write the helpfile first before you include it in the application. That way, you have lots of time discovering how to do this while some poor student writer can start typing...
As a developer I've always refused to write helpfiles myself, simply because it's just a lot of typing that anyone could do. I consider myself to be too expensive for my company to be used for such simple tasks. And my boss did agree with this, since any time I waste on typing the helpfile, checking the spelling and whatever more means that other projects will have to wait until I'm finished.
The helpfile compiler will create the helpfile out of one or more *.rtf files and often creates a second file containing constants for the places that you can jump to. These constants are what you need in your code. Nothing more. You would use HelpContext() to jump to a location indexed by a number or HelpJump() to jump to a location indexed by a string. In the project options you assign the helpfile to your application. With HelpCommand() you just send commands to the help system. And finally several VCL components and dialogs might have a help index from those constants assigned to them, just automating the whole help search. It's not that complicated but I managed to avoid this so far by asking for a valid helpfile to attach to the application with a proper constants file. ;-)
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

__alexAuthor Commented:
> Yep. But don't you want to use a real, related helpfile instead?
Nope. Since the applications I develop are self-explanatory nobody will ever need any help. We plan to ship with the wrong help files. No, wait, I guess it's sufficient to make a screenshot of an arbitrary help file and just show the bitmap.
usual i do agree with alex, a developer should not write the helpfile,
not because its just typing a lot, which can do everyone, no , just because
a developer do not think as a normal user. a develeoper is good by describing
his code to help other developers.

in a company i had worked, there was an extra person, which wrote the helpfiles. this person had nothing to do with development, was a normal office user. and this person did a great job, better than i had ever done. btw. we had there a tool for creating helpfiles, as i have it correct in mind it was robohelp named.

well, if i had a small app, then i used the hint-properties as help (on/off adjustable)

meikl ;-)
http://www.helpscribble.com ( not Free)
I'm not familiar on how to use it  :) We got someone making our helpfiles, but this is the program we use.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Wim ten BrinkSelf-employed developerCommented:
Yep. Meikl understands me. :-)
Almost anyone can write a helpfile but it requires a specialist to develop software. Specialists are expensive so don't let them do things a cheaper person can do. And Meikl has another good argument. Developers are technicians, who would write a helpfile in techno-speach. You need someone who writes in just normal englist. (Or Dutch, German or whatever other language you need.)

I have seen many applications with a badly-written helpfile, often because a developer had to write it. Those kinds of helpfiles just make it even harder for users to understand what you're talking about. It is the same as with testing software. In the past we used to let developers test each others software. Thus many bugs would be found and most of them were just bugs that users probably wouldn't notice. Then the product was sent to the customers and the customers would generate an even bigger bug report full with things the developers never even considered to test. So for this too I told my boss that testing should be done by people who aren't developers. And it worked, the non-developers discovered a lot of bugs that the developers just missed. (Partly because they often didn't know what they were doing and thus tried to do everything.)

Explain the application to some non-developer and let him (or her) write the helpfiles for it. Then afterwards all you need to do is compile this documentation to a helpfile and add it to your application.
Or use more hints. A statusline that displays the hints would work too.
__alexAuthor Commented:
helpscribble.com offers free pascal sources to view *.chm files (the *.hlp substitute): http://download.jgsoft.com/helpscribble/UseHTMLHelp.zip
__alexAuthor Commented:
pascal sources -> Delphi sources
__alexAuthor Commented:
Thanks to all for the input!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.