Home

Tools API

Notifiers

Open Tools API

Introduction
Services
Wizards
Messages
Notifiers
Creators
Editors
Debugger
Examples
Custom Forms

Home

Notifiers tell your wizard when something interesting happens in the IDE. Create a notifier by defining a class that implements a particular notifier interface, and then registering an instance of that notifier with another interface. All notifiers must implement IOTANotifier, although Delphi does not call of its methods.
IOTAEditorNotifier
Completely broken. Do not use. Causes access violations is you try to use it. Use an old-style module notifier instead.
IOTAFormNotifier
FormActivated and FormSaving are never called. Delphi calls ComponentRenamed when the user adds, renames, or deletes a component.
IOTABreakpointNotifier
Set a breakpoint notifier to tell you when something interesting happens with a breakpoint. When the user modifies a breakpoint, Delphi frees the old breakpoint object and creates a new one. Because the debugger notifier doesn't work, your wizard never learns about this. All you get is the Destroyed notification telling you the old breakpoint is gone.
IOTAThreadNotifier
The thread notifier tells you when something interesting happens in a thread. Remember every process has at least one thread. The thread notifier does not report faults and exceptions in a thread, though; at least I never got them to work. It does report stopping at a breakpoint. Note that IOTAThreadNotifier misspells "evaluate." You must implement the "EvaluteComplete" method.
IOTAProcessModNotifier
The only method that's used here is Modified, which tells you when Delphi has loaded or unloaded the module's symbols. A typical process loads many modules (DLLs), only a few of which have symbols.
IOTAProcessNotifier
The process notifier tells your wizard when something happens in the process, namely, it creates or destroys a thread or loads or unloads a module.
IOTADebuggerNotifier
Not implemented. Delphi never calls its methods. Without this, the other debugger notifiers are almost useless. In particular, your wizard cannot learn when the user starts a process, so the wizard can register a process notifier. Nor does your wizard learn about new or modified breakpoints, so it can set a breakpoint notifier. See the Debugger page for more information.
IOTAIDENotifier
This one works. Note that Delphi calls the compilation events when Code Insight parses the source file, in other words, a lot.

Copyright © 1998 Tempest Software, Inc. All rights reserved.