View RSS Feed

Development Team Blog

Linking from Developer Help to Visual DataFlex Help

Rate this Entry
Now that Visual DataFlex supports adding developer and library help content to the main system, a number of developers have asked about linking content. Here are a few tips:

Important: Our help content is, well, our help content and it can change at any time, including page names - so keep this in mind when choosing which material you want to use in links and how much you want to use linking.

The main thing you need to know to establish a link from one book to another in compiled help is the name of the help book and target page in the help. These take the format HelpBookName.chm::/PageName.htm. So how can you find this information out for your target? Simple!
  • Navigate to your page of choice
  • Click the Help icon in the upper left corner of the help system
  • Select the "Jump to URL..." option
  • The "Current URL" form will have some funky looking information like this:

mk:@MSITStore:C:\Program%20Files\Visual%20DataFlex %2015.0\Help\GeneralReference.chm::/General_Reference.htm
  • You are only interested in the book / page reference that is at the end:

  • Once you create the link in your help page, you just paste in the information you found as the target for the help link and voilą!
Most developer or library help will really want to link to the Class Reference (VDFClassRef.chm). For Class Reference material all pages follow a standard naming convention, so you can often just type in the link:
  • Classes are simply the exact name of the class, e.g.: VdfClassRef.chm::/AppClientArea.htm
  • The list of properties for a class is the class name, hyphen, Properties.htm, e.g: VdfClassRef.chm::/AppClientArea-Properties.htm (or PropertiesA.htm if you want the alphabetical version)
  • The list of events for a class is the class name, hyphen, Events.htm, e.g.: VdfClassRef.chm::/AppClientArea-Events.htm (or EventsA.htm if you want the alphabetical version)
  • The list of methods for a class is the class name, hyphen, Methods.htm, e.g.: VdfClassRef.chm::/AppClientArea-Methods.htm (or MethodsA.htm if you want the alphabetical version)
Are you sensing an actual pattern to all of this? Good! Let's look at a few more...
  • If you really think you know your members (and can spell) you can go right for the member page. For instance I can go right to the Activate_About procedure with this link: VdfClassRef.chm::/AppClientArea-Procedure-Activate_About.htm.
  • Other class members might use -Event- or -Property- , etc. But be careful because the member you are linking to might not be defined directly in the class. For instance, the Help_ID property, though part of the AppClientArea interface, is defined here: VdfClassRef.chm::/MdiClientArea-Property-Help_Id.htm.
When in doubt, you can always go right to the source - look it up in the help and check the URL.

The other main book you might want to link to is the Language Reference (LanguageReference.chm). There are also patterns to the information in that book (though not the exact same pattern used in the Class reference - that would be too easy and we have to keep you on your toes).
  • Commands are the command name, underline, Command.htm: LanguageReference.chm::/Boolean_command.htm
  • Compiler directives are the directive name, underline, Compiler_Directive.htm: LanguageReference.chm::/ENTOPT_Compiler_Directive.htm
  • API attributes are the full attribute name.htm: LanguageReference.chm::/DF_DATABASE_DEFAULT_DEFAULT_DATETIME.htm
  • Functions are function name, underline, Function.htm: LanguageReference.chm::/Center_Function.htm
  • Etc. - again, if in doubt, just look it up in the help to see how that kind of link is done.
Again, be forewarned that help content can change (and no fair griping when it does - you've been warned twice now), but I will tell you this:

In the many years we've had compiled help we've never changed the page naming patterns used in the Class Reference or Language Reference. This means that link targets are generally safe unless a class, member, command, attribute or function name changes. Likewise we rarely change page names in the Language Guide. As you move into other areas of the reference help you may see more change over time (content moves from one book to another, gets rewritten or otherwise augmented, etc.). The content that changes a lot is the help for the Studio and other utilities - I would strongly caution against using links to those books unless it's important enough to you to check and update it on a regular basis.

Updated 7-Aug-2009 at 05:27 PM by Stephen W. Meeley



  1. Ola Eldoy's Avatar
    I like the practical approach of these blog posts. And in this one, I particularly enjoyed the "and can spell" requirement