Type Library Documentation Tool overview

Tool for Documentation of Type Libraries

Overview

Tool for Documentation of Type Libraries (DocLibTool) is an open software that helps you document Microsoft COM type libraries (and thus any COM component described in a type library) in HTML Help format. It is created by Philip Sakellaropoulos. The executable as well as the source code are given for free. For any comment email me here.

Basic use of the program is simple. You have to provide a source file containing a type library (*.EXE, *.DLL, *.TLB) created by any COM-enabled language (VC++, VB, Delphi, ...), point to a directory where all output files will be put and then press the "Generate files" button. The program will create a set of HTML files describing the type library (objects, interfaces, methods, enumerations), an XML file having all this information in a structured way, an HTML Help Project file (.HHP) , a HTML Help Contents file (.HHC), a HTML Help Index file (.HHK) and an XSL template file used to generate the HTML files. To compile the help file ( .CHM extension) you open HTML Help Project file with the Microsoft's HTMLHelp tool and press the "Compile" button.

You can add your own customized information to the help file, by editing the XML file and filling the empty tags that exist for this purpose: CoClassDescription, InterfaceDescription, MemberDescription, ReturnValueDescription, ParameterDescription, ExampleCode, Related, EnumerationDescription. All tags concerning members can be edited using the DocEditTool program.

You can also edit the Contents file and the Index file with the HTMLHelp tool. Finally, you can also change the format of the HTML files and their structure (more difficult !) by editing the XSL files. When you re-generate the files (due to a change in the type library for example) all your custom information is retained.

Information for each project is stored in a configuration file with the .dlt extension. The format of the file is the same as the format of INI files.

If you don't have the HTMLHelp tool you can download it for free from Microsoft's MSDN site here. Complete documentation can be downloaded here. Read more about HTML help in the next page of this manual.


HTML Help documentation (from MSDN)

The HTML Help documentation contains two basic components.

The first is the HTML Help Authoring Guide, which is an online document designed to provide designers and help authors with the information they need to use HTML Help and its components.

The second is the HTML Help reference section, which provides advanced information to help developers and help authors. You can use the reference topics to learn more about the HTML Help ActiveX® control and the HTML Help API.

To download the entire documentation set, you must click all three of the links below and save the compiled help (.chm) files to your hard disk. All three files must be copied to the same location for the entire documentation set to appear correctly:

  • The HTML Help Authoring Guide (Htmlhelp.chm)
  • The HTML Help ActiveX control reference (Hhaxref.chm)
  • The HTML Help API reference (Api.chm)


DocLibTool main dialog

Tool for Documentation of Type Libraries

Main dialog

Press on an edit box to see a description for the respective file


Key files description

Tool for Documentation of Type Libraries

Description of key files

These files are used in the output files generation process. Knowledge of Microsoft XML is required in order to modify them.

File name | Description
TemplateOfTypeLibInfo.xml | Defines the structure of the generated description XML file. Do not edit it unless you can make the necessary changes also to VB code.
TemplateOfTLBParts.XSL | This XSL file contains templates for HTML files, for HHC file and for HHK file. You can edit it to customize the appearance of the HTML files.
scripts.xsl | Contains VBScript code used to implement tasks beyond the capabilities of the XSL stylesheet commands (for example save an XML fragment in disk). The functions it contains are called by the TemplateOfTLBParts.XSL. Don't modify any of the functions.


Example Documentation

The following documentation for a small COM component (dll) was automatically created using the tool. No custom information has been added.


Coclass: AudioUtils


Interface: IAudioUtils

Browse members alphabetically

Browse members by category

Browse members by use


Interface IAudioUtils

IAudioUtils members

Properties

Name | Type | HelpString | Category | Frequency of use
DeInit | Method | method DeInit | General | Normal
Format | Property Get/Let | property Format | General | Normal
Frequency | Property Get/Let | property Frequency | General | Normal
Init | Method | method Init | General | Normal
PlayPCM | Method | method PlayPCM | General | Normal

IAudioUtils overview


IAudioUtils::DeInit

method DeInit

Sub DeInit

No parameters

(C) 1999-2001 Knowledge S.A. All rights reserved


IAudioUtils::Format

property Format

Property Get/Let Format As PCMFormat

No parameters

(C) 1999-2001 Knowledge S.A. All rights reserved


IAudioUtils::Frequency

property Frequency

Property Get/Let Frequency As Long

No parameters

(C) 1999-2001 Knowledge S.A. All rights reserved


IAudioUtils::Init

method Init

Sub Init

No parameters

(C) 1999-2001 Knowledge S.A. All rights reserved


IAudioUtils::PlayPCM

method PlayPCM

Sub PlayPCM(Filename As String, [bAsync As Boolean = True])

Parameters

No | Name | Type | Optional | Default | Description
1 | Filename | String | No | - | PCM filename to play
2 | bAsync | Boolean | Yes | True | True to play file asynchronously

(C) 1999-2001 Knowledge S.A. All rights reserved


Interface IAudioUtils

IAudioUtils members by category

Properties

Name | Type | HelpString | Category | Frequency of use
DeInit | Method | method DeInit | General | Normal
Format | Property Get/Let | property Format | General | Normal
Frequency | Property Get/Let | property Frequency | General | Normal
Init | Method | method Init | General | Normal
PlayPCM | Method | method PlayPCM | General | Normal

IAudioUtils overview


Interface IAudioUtils

IAudioUtils members by frequency of use

Properties

Name | Type | HelpString | Category | Frequency of use
DeInit | Method | method DeInit | General | Normal
Format | Property Get/Let | property Format | General | Normal
Frequency | Property Get/Let | property Frequency | General | Normal
Init | Method | method Init | General | Normal
PlayPCM | Method | method PlayPCM | General | Normal

IAudioUtils overview