Die Tools API-Dienste verwenden
Nach oben zu Die IDE erweitern - Index
Für alle Arten von Vorgängen braucht ein Experte Zugriff auf die IDE auf deren Editoren, Fenster, Menüs usw. Diesen Zugriff vermitteln die Dienstschnittstellen. Die Tools API enthält viele Dienste, z. B. Aktionsdienste zur Dateiverarbeitung, Editor-Dienste für den Zugriff auf den Quelltext-Editor, Debugger-Dienste für die Arbeit mit dem Debugger usw. In der folgenden Tabelle sind alle Dienstschnittstellen zusammengefasst.
Dienstschnittstellen der Tools API :
| Schnittstelle | Beschreibung |
|---|---|
|
INTAServices |
Ermöglicht den Zugriff auf IDE-Objekte: Hauptmenü, Aktionsliste, Bilderliste und Symbolleisten. |
|
IOTAActionServices |
Führt grundlegende Dateioperationen aus: Öffnen, Schließen, Speichern und erneutes Laden einer Datei. |
|
IOTACodeCompletionServices |
Ermöglicht den Zugriff auf die Programmierhilfe, sodass ein Experte dafür eigene Manager installieren kann. |
|
IOTADebuggerServices |
Ermöglicht den Zugriff auf den Debugger. |
|
IOTAEditorServices |
Ermöglicht den Zugriff auf den Quelltext-Editor und dessen interne Puffer. |
|
IOTAKeyBindingServices |
Ermöglicht einem Experten die Registrierung eigener Tastaturbindungen. |
|
IOTAKeyboardServices |
Ermöglicht den Zugriff auf Tastaturmakros und –bindungen. |
|
IOTAKeyboardDiagnostics |
Ermöglicht die Bearbeitung von Tastenanschlägen. |
|
IOTAMessageServices |
Ermöglicht den Zugriff auf die Meldungsanzeige. |
|
IOTAModuleServices |
Ermöglicht den Zugriff auf geöffnete Dateien. |
|
IOTAPackageServices |
Ermittelt die Namen aller installierten Packages und ihrer Komponenten. |
|
IOTAServices |
Unterschiedliche Dienste. |
|
IOTAToDoServices |
Ermöglicht den Zugriff auf die To-Do-Liste, sodass ein Experte eigene To-Do-Manager installieren kann. |
|
IOTAToolsFilter |
Registriert Notifier für Tool-Filter. |
|
IOTAWizardServices |
Registriert Experten oder trägt sie aus. |
Um eine Dienstschnittstelle zu verwenden, wandeln Sie mithilfe der globalen Funktion Supports, die in der Unit SysUtils definiert ist, die Variable BorlandIDEServices in den gewünschten Dienst um. Beispiel:
procedure set_keystroke_debugging(debugging: Boolean); var diag: IOTAKeyboardDiagnostics begin if Supports(BorlandIDEServices, IOTAKeyboardDiagnostics, diag) then diag.KeyTracing := debugging; end;
void set_keystroke_debugging(bool debugging) { _di_IOTAKeyboardDiagnostics diag; if (BorlandIDEServices->Supports(diag)) diag->KeyTracing = debugging; }
Benötigt Ihr Experte einen bestimmten Dienst öfter, sollten Sie in einem Datenelement Ihrer Experten-Klasse einen Zeiger auf diesen Dienst speichern.
Einige Spezialfälle beim Einsatz von Dienstschnittstellen der Tools API werden in folgenden Abschnitten behandelt: