Zugriff auf das Fehlerlistenfenster von Visual Studio

Dieses Kapitel beschreibt den Zugriff auf das Fehlerlistenfenster von Visual Studio. Weil TwinCAT 3 sich selbst in die Visual Studio-Umgebung integriert, ist das Lesen des Inhalts dieses Fensters für das Debugging und die Diagnose von großer Bedeutung. Um den Inhalt dieses Fensters zu lesen, müssen Sie auf die Visual Studio COM-Schnittstelle zugreifen. Da diese COM-Schnittstelle auch für den Zugang zu TwinCAT XAE notwendig ist (z.B. wie in unserem Artikel Zugriff auf die TwinCAT-Konfiguration beschrieben), müssen Sie keine zusätzlichen Referenzen zu Ihrem Programmcode hinzufügen.

Die folgende Dokumentation beschreibt den Zugriff auf das Fehlerlistenfenster, der sehr hilfreich sein kann, z.B. wenn Sie ein SPS-Projekt kompilieren möchten, und dabei den Kompilierungsprozess auf etwaige Fehlermeldungen hin beobachten möchten. Im Fehlerlistenfenster werden Statusmeldungen für verschiedene Eigenschaften der Visual Studio (und somit TwinCAT) Entwicklungsumgebung eingeblendet. Zu diesen Eigenschaften gehören z.B. bei der Kompilierung eines Projekts auftretende Übersetzungsfehler oder Lizenzprobleme.

Zugriff auf das Fehlerlistenfenster von Visual Studio 1:

Das Lesen des Inhalts dieses Fensters kann sehr wichtig sein, z.B. um bei der Kompilierung eines SPS-Projekts auftretende Fehler zu erkennen. Der folgende Code-Ausschnitt zeigt, wie der Inhalt dieses Fensters mit Hilfe einer C#-Anwendung gelesen werden kann.

Code-Ausschnitt (C#):

ErrorItems errors = dte.ToolWindows.ErrorList.ErrorItems; 
for (int i = 1; i < errors.Count; i++)
{
  ErrorItem item = errors.Item(i);
}

Achten Sie darauf, dass die Eigenschaft „ToolWindows“ im Namensraum EnvDTE80.DTE2 verfügbar ist.

Code-Ausschnitt (Powershell):

$errors = $dte.ToolWindows.ErrorList.ErrorItems
for ($i=1; $i –lt $errors.Count; $i++)
{
  $item = $errors.Item($i);
}

Wie Sie sehen können, gibt die Eigenschaft ErrorItems eine Sammlung aller in der Fehlerliste vorhandenen Elemente zurück, wobei jedes Element vom Typ ErrorItem ist. Sie können diese Sammlung durchlaufen, indem Sie sich z.B. deren Eigenschaft Count zunutze machen. Jedes ErrorItem-Objekt hat die folgenden Eigenschaften, die mit den Spalten im Fehlerlistenfenster übereinstimmen (vergleiche mit Screenshot oben):

Eigenschaft

Beschreibung

Beschreibung

Beschreibt die Fehlermeldung.

FileName

Name der Datei, in welcher der Fehler auftrat.

Line

Zeile, in welcher der Fehler auftrat.

Column

Spalte, in welcher der Fehler auftrat.

Project

Projekt, in welchem der Fehler auftrat.

Beachten Sie, dass die vier letzten Eigenschaften nicht immer verwendet werden, bzw. nicht in jeder Situation Sinn ergeben. So sehen Sie z.B. im Screenshot oben, dass die Fehlermeldung „No license found“ (Keine Lizenz gefunden) nicht an eine bestimmte Datei, Zeile oder Spalte gebunden ist, weil sie eine allgemeine TwinCAT-Fehlermeldung ist.