|Open Tools API
|The main interface between your wizard and Delphi's IDE is
which is declared in the ToolsAPI unit. This object is the equivalent to ToolServices in
the old API.
The difference between the old and new APIs is that where the old API has a
ToolServices, with lots and lots of methods, the new API has a
single object that implements many different COM interfaces. Each interface defines only
the methods that make sense for that interface.
To use a services, cast
BorlandIDEServices to the desired interface, e.g.,
(BorlandIDEServices as IOTAPackageServices).PackageCount
Following is a list of the services and a description of each one.
- Performs file actions, such as opening, closing, and saving files.
- Displays messages in Delphi's message view. You can display text messages or take over
drawing completely with a custom message.
- Get a list of loaded packages and the components they install.
- Interface with Delphi's debugger. Not fully implemented.
- Get module interfaces for open files. Install file systems, register module notifiers, create new files, etc.
You use a module interface to access the editor interfaces, project options, and so on.
- Register and unregister a wizard. You must use the wizard services when you register a
new-style wizard in a DLL.
- Miscellaneous services, such as registering IDE notifiers, getting the product name
(Delphi or C++ Builder), and so on. You can also get and set environment options.
- You must use the VCL40.BPL package, and you can access Delphi's
component, action lists, toolbars, and image list directly. You can easily add new menu
items, making the old
TIMenuItemIntf obsolete (unless you are writing a
wizard in a language that does not support Delphi 4 packages).