Erfassungsprotokoll-Profiler-Add-Ins
Add-Ins sind Codedateien (üblicherweise PRG oder SCX), die Ihnen auf einfache Weise die Anpassung des Erfassungsprotokoll-Profilers ermöglichen. Die cov_standard-Unterklasse des Erfassungsmoduls, die die Benutzeroberfläche von Coverage.app bildet, zeigt nur einen kleinen Teil der Funktionen, die das Modul zur Verfügung stellt. Das Modul analysiert das Erfassungsprotokoll; cov_standard zeigt nur die Ergebnisse auf eine von vielen verschiedenen Arten an.
Sie könnten eine andere Unterklasse von cov_engine mit einer völlig anderen Anzeige erzeugen. So könnte Ihre Unterklasse beispielsweise ein Dialogfeld anzeigen, das Abfragen auf den von dem Modul erhobenen Erfassungsstatistiken ermöglicht. Als Anzeigeoptionen wäre z. B. eine Ansicht des markierten Codes für einen gefilterten Satz Protokolleinträge oder nur eine grafische Darstellung der Profiler-Ergebnisse denkbar.
Sie müssen nicht notwendigerweise mit einer Unterklasse von cov_engine eine komplett neue Benutzerschnittstelle erstellen, da die cov_engine-Klasse dies auf einfachere Weise ermöglicht. Mittels Add-Ins können Sie cov_standard oder jede beliebige Unterklasse von cov_engine um Funktionen erweitern. cov_standard stellt diese Funktion über eine Schaltfläche im Hauptdialogfeld des Erfassungsprotokoll-Profilers zur Verfügung. Wenn Sie ein Add-In in einer Instanz von cov_standard, z. B. dem Erfassungsprotokoll-Profiler, ausführen, kann das Add-In die Funktionalität von cov_engine, der Erfassungsprotokolltabellen sowie von cov_standard ändern. Mittels Add-Ins können Sie sogar die visuelle Schnittstelle von cov_standard um weitere Dialoge und Features erweitern.
Erstellen von Add-Ins
Zur Erweiterung der Standardschnittstelle können Sie Add-Ins erstellen oder durch Erstellung einer Unterklasse von cov_standard Ihre eigene vollständig neue Schnittstelle schaffen.
Erweitern des Standard-Profilers
In der folgenden Liste finden Sie Features, die Sie über Add-Ins bereitstellen können:
Hinzufügen eines sichtbaren Features zum Hauptdialogfeld.
Hinzufügen eines Dialogfeldes zum Formularsatz des Erfassungsmoduls (beachten Sie die folgenden Einschränkungen, um sicherzustellen, dass Ihr Dialogfeld an der richtigen Stelle dargestellt wird).
Darstellung eines separaten Dialogfeldes zum Zugriff auf Funktionen des Erfassungsmoduls (beachten Sie die folgenden Einschränkungen, um sicherzustellen, dass Ihr Dialogfeld an der richtigen Stelle dargestellt wird).
Bereitstellung einer Abfrageschnittstelle, die unter Verwendung der Tabelle Source eine Liste aller Ihren Kriterien entsprechenden Zeilen präsentiert und das Ergebnis filtert oder sortiert.
Anmerkung Sie können die Adjust-Methoden (AdjustCoverageFilenameCursor( ), AdjustSourceCursor( ) und AdjustTargetCursor( )) des Moduls verwenden, um den Tabellen Source und Target bei deren Erstellung durch das Modul Felder hinzuzufügen und diese Felder in Ihren Add-Ins verwenden.
Hinzufügen von Dateinamen zum Cursor IgnoredFiles, um diese Dateien von Analysen auszunehmen. Dies kann zu einer Zeiteinsparung bei der Analyse führen.
Verwendung des speziellen Init-Hooks für Add-Ins.
Registrierung von Add-Ins für den späteren Abruf und den leichten Zugriff auf eine Liste von Add-Ins.
Die modale cov_AddInDialog-Dialogfeldklasse in der Standarderfassungsmodul-Unterklasse bietet in einer Dropdownliste zuvor registrierte Dialogfelder an. Wenn Sie die lRegisterAdd-In-Option des Erfassungsmoduls aktivieren, werden die vollständigen Pfadnamen erfolgreich ausgeführter Add-Ins der Windows-Registrierung hinzugefügt, damit Sie diese Add-Ins leicht erneut ausführen können. Die Standard-Benutzerschnittstellenklasse ermöglicht es Ihnen auch, diese Eigenschaft im Dialogfeld Erfassungsprotokoll-Profiler-Optionen festzulegen.
Das Erfassungsmodulobjekt unterhält in der aAddIns-Eigenschaft eine Liste aller registrierten Add-Ins.
Verwendung der endgültigen Feldinformationen in coverage.log (callstack), um Ihre eigene Schnittstelle oder Ihre eigene Ansicht des Erfassungsprotokolls zu entwerfen.
Beim Erstellen von Add-Ins gilt es, die folgenden Informationen zu beachten:
- Sie können für Add-Ins einen beliebigen der unterstützten Dateitypen verwenden. Diese sind QPR, QPX, MPR, MPX, APP, EXE, SCX, FXP, PRG und .procedures (sofern diese bereits in einer geöffneten Prozedurenbibliothek verfügbar sind).
- Der Formularsatz des Erfassungsmoduls verfügt über eine "unsichtbare" Symbolleiste. Sofern Ihr Add-In nichtvisuell ist, können Sie diese Symbolleiste verwenden, um es unterzubringen. Handelt es sich bei Ihrem Add-In um ein sichtbares Steuerelement, ist der Element-Container .Cov_tools der Standardunterklasse des Hauptdialogfeldes vermutlich der geeignetste Ort für seine Unterbringung. Auf diese Weise werden Position und Größe der Symbolleiste automatisch mit dem Rest des Dialogfeldes synchronisiert, wenn sich dessen Größe ändert.
- Alle Methoden des Moduls, die die Quell- und Zieltabellen verwenden, akzeptieren optionale Argumente, die es Ihnen ermöglichen, diese Methoden auf die entsprechenden Aliasnamen zu verweisen, während Sie mit ihnen arbeiten. Sie können auch den aktuellen Inhalt der Eigenschaften cSourceAlias und cTargetAlias ändern, damit diese dem Sie interessierenden Cursorpaar entsprechen. Dies ermöglicht es Ihnen, innerhalb einer Schnittstelle verschiedene Erfassungsprotokolle miteinander zu vergleichen.
- Beschränkungen:
- Add-Ins müssen einen Parameter akzeptieren (das Erfassungsmodul übergibt einen Verweis auf sich selbst).
- Add-Ins müssen von einem der oben aufgeführten Dateitypen sein.
- Prozeduren, die Sie als Add-Ins verwenden, müssen in einer bereits geladenen Prozedurenbibliothek verfügbar sein (siehe SET PROCEDURE). Das Modul verwendet die Syntax IN FileName nicht und ruft auch keine Prozeduren oder PRG-Dateien auf und gibt deren Werte mittels RETURN zurück. Außerdem verwendet sie im DO FORM-Befehl keines der Schlüsselwörter NAME oder LINK. Sie können den Verweis entweder selbst verwalten oder dem Modul gestatten, ein Formular für Sie zu definieren, indem es Ihr Formular zu einem Element des Formularsatzes des Moduls macht.
- Wenn Sie beim Start ein Add-In ausführen, müssen Sie einen Verweis verwenden, da die globale _oCoverage-Variable noch nicht verfügbar ist. Zu einem späteren Zeitpunkt können Sie nach Belieben die globale Verweisvariable in Ihrem Code verwenden.
- Wenn Sie ein Add-In als Formular erstellen, das Formular als ShowWindow = 1 erstellen und die Erfassung in ihrem eigenen Rahmen ausführen, sollten Ihre Add-In-Formulare im Rahmen der Erfassung angezeigt werden.
- Wenn Sie im Befehlsfenster .RunAddIn verwenden, achten Sie darauf, dass der Erfassungsrahmen der aktuelle MDI-Rahmen ist, bevor Sie Ihre Formulare instanziieren.
Unterklassen von Cov_Standard
Sie können entweder eine Unterklasse des Erfassungsmoduls oder ihrer Standardunterklasse erstellen. Die folgende Liste beschreibt die Struktur der Quelldateien des Projekts COVERAGE.
Datei | Beschreibung |
---|---|
Coverage.prg | Eine Hülle für das Erfassungsobjekt, welche das Objekt instanziiert. |
Coverage.vcx Coverage.vct |
Alle Klassen für das Modul und seine Standardunterklasse. |
Cov_short.mnx Cov_short.mnt |
Kontextmenü. |
Cov_pjx.frx Cov_pjx.frt |
Standardmechanismus für Ergebnisse auf Projektebene. |
Coverage.h | Headerdatei für den gesamten COVERAGE-Code; enthält die folgenden Elemente:
*— Zeichenkonstanten für das Protokoll und die Analyse:
*— Lokalisierte Zeichenfolgen (kann einige der Protokoll- und Analysekonstanten verwenden):
*— Allgemeine Konstanten für Dialogboxkomponenten:
*— Spezifikationen und Anforderungen:
*— Konstanten für das Registrierungsobjekt:
*— Einstellbare Optionen:
|
Der Quelldateisatz für das COVERAGE-Projekt enthält außerdem verschiedene ICO-, BMP- und MSK-Dateien.
Mittels der Datei COV_TUNE.H (welche entsprechende Kommentare und Erläuterungen enthält) können Sie sich mit den ohne Erstellung von Code verfügbaren Optionen vertraut machen.
Da die Verwendung von Add-Ins von der Überklasse des Erfassungsmoduls reglementiert wird, kann jede von Ihnen erstellte Erfassungsunterklasse Add-Ins auf die gleiche Weise verwenden wie die Standardunterklasse.
Die von der Standardanwendung Coverage.app instanziierte Erfassungsmodulunterklasse vergrößert die Erfassungsmodul-Methode RunAddIn( ) auf keinste Weise. Sie ruft jedoch ein modales Dialogfeld auf, das dem Benutzer die Auswahl eines Add-Ins gestattet, bevor sie die Erfassungsmodul-Methode RunAddIn( ) aufruft. Das modale Dialogfeld erhält einen Verweis auf das Erfassungsobjekt und legt die cAddIn-Eigenschaft des Erfassungsmoduls fest.
Wenn Sie Ihre eigene Erfassungsmodulunterklasse schreiben, stellen Sie sicher, dass die Unterklasse dieselbe modale Dialogfeldklasse (cov_AddInDialog) zur Handhabung von Add-Ins verwenden kann wie die Standarderfassungsanwendung; das Dialogfeld hängt von keinerlei Features der Standardunterklasse ab.
Sie können ein anderes modales Dialogfeld aufrufen, den Namen der cAddIn-Datei direkt in der cAddIn-Eigenschaft festlegen oder den Inhalt der cAddIn-Eigenschaft durch Übergeben des Namens der gewünschten Add-In-Datei an die RunAddIn( )-Methode überschreiben.
Unabhängig von der Art des Aufrufs eines Add-Ins in Ihrer Unterklasse können Sie die Liste der für Coverage.app registrierten Add-Ins untersuchen, indem Sie die Dateinamen in der aAddIns-Erfassungsmoduleigenschaft überprüfen.
Weitere Informationen zu den Eigenschaften, Ereignissen und Methoden des Erfassungsmoduls finden Sie unter Coverage Engine-Objekt.
Siehe auch
Änderung des Erfassungsprotokoll-Profilers | Projekt-Manager-Hooks | Anwendungsentwicklung und Entwicklerproduktivität | Die Objekthierarchie des Projekts | Erfassungsprotokoll-Profiler