Open Tools API
Introduction
Services
Wizards
Messages
Notifiers
Creators
Editors
Debugger
Examples
Custom Forms
Home |
The main interface between your wizard and Delphi's IDE is BorlandIDEServices ,
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
single object, 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.
IOTAActionServices
- Performs file actions, such as opening, closing, and saving files.
IOTAMessageServices
- Displays messages in Delphi's message view. You can display text messages or take over
drawing completely with a custom message.
IOTAPackageServices
- Get a list of loaded packages and the components they install.
IOTADebuggerServices
- Interface with Delphi's debugger. Not fully implemented.
GetCurrentProcess
always returns nil .
IOTAModuleServices
- 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.
IOTAWizardServices
- Register and unregister a wizard. You must use the wizard services when you register a
new-style wizard in a DLL.
IOTAServices
- 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.
INTAServices
- You must use the VCL40.BPL package, and you can access Delphi's
TMainMenu
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).
|