Externe Assemblys

In Skripten und globalen Modulen können externe Assemblys verwendet werden. Es können sowohl Standard- als auch kompilierte Benutzerassemblys verwendet werden.

Hinzufügen externer Assemblys

Eine Assembly kann über die Registerkarte .Net-Referenzen der Stapeltyp-Eigenschaften, Projekteigenschaften oder über die Eigenschaften der Dokumentdefinition. Alle Klassen der hinzugefügten Assemblys sind dann in Skripten und globalen Modulen verfügbar.

Assemblys, die in den Eigenschaften des Stapeltyps und in den Eigenschaften der Dokumentdefinition hinzugefügt wurden, stehen für einen bestimmten Stapeltyp oder eine bestimmte Dokumentdefinition zur Verfügung. Die den Projekteigenschaften hinzugefügten Assemblys sind freigegeben und für alle Stapeltypen und Dokumentdefinitionen eines gegebenen Projekts verfügbar. Wenn Sie dieselbe Assembly für verschiedene Stapeltypen und Dokumentdefinitionen benötigen, können Sie eine freigegebene Assembly nutzen. Muss eine freigegebene Assembly aktualisiert werden, brauchen Sie sie nur in den Projekteigenschaften aktualisieren.

Um eine Assembly zu den Projekteigenschaften hinzuzufügen, gehen Sie folgendermaßen vor:

  1. Klicken Sie unter .Net-Referenzen der Projekteigenschaften auf Hinzufügen...
  2. Im daraufhin geöffneten Dialogfeld Zusammenstellung hinzufügen wählen Sie den Typ: Standardname für Zusammenstellung oвуr Angehängte Datei.
  3. Je nach ausgewähltem Typ wählen Sie entweder den Standardnamen der Assembly oder suchen Sie nach der Assemblydatei.

Eine freigegebene Assembly wird automatisch zu neu erstellten Stapeltypen hinzugefügt. Um eine freigegebene Assembly zu Dokumentdefinitionen und vorhandenen Stapeltypen hinzuzufügen, gehen Sie wie folgt vor:

  1. Klicken Sie unter  .Net-Referenzen der Eigenschaften des Stapeltyps oder der Dokumentdefinition auf  Hinzufügen...
  2. Im daraufhin angezeigten Dialogfeld Zusammenstellung hinzufügen wählen Sie Freigegebene Zusammenstellung.
  3. Wählen Sie aus der Liste Referenz den Namen der Assembly aus.
    Hinweis. Eine freigegebene Assembly mit einem ähnlichen Namen wie der einer vorhandenen Standard-Assembly kann nicht hinzugefügt werden.

Nachfolgend sehen Sie einen Beispielcode einer Benutzerassembly, die einen Namensraum, eine Klasse und eine Methode dieser Klasse enthält:

namespace TestNameSpace
{
public class Test
 {
 public void Show(string text)
  {
// zeigt den Text anhand der FlexiCapture-Hilfsmittel an – statische Methode void ShowMessage(string text, bool IsError) von statischer Klasse FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false); 
  }
 }
}
    

Sollen Klassen und Methoden einer hinzugefügten Assembly über Eventsteuerungsskripte zugänglich sein, muss sie auf der Registerkarte .Net-Referenzen der Stapeltyp-Eigenschaften (für einen bestimmten Stapeltyp) oder Projekteigenschaften (für den Stapeltyp Unbekannt) hinzugefügt werden.

Für die folgenden Skripte werden externe Assemblys auf der Registerkarte .Net-Referenzen der Eigenschaften der Dokumentdefinition hinzugefügt:

Das Skript, das die Klassen und Methoden aus der externen Assembly nutzt, muss den folgenden Code enthalten:

TestNameSpace.Test test = new TestNameSpace.Test(); // erstellt ein Objekt der Testklasse
test.Show("hello world"); // ruft die Methode Show() der Klasse Test auf
    

Debugging externer Assemblys

Beim Debugging externer Assemblys sind sowohl die Assemblydatei als auch eine .pdb-Datei mit symbolischen Informationen erforderlich. Nur Assemblys mit geladenen .pdb-Dateien können debugged werden. Da die pdb-Dateien eher groß sind, sollten das Laden von symbolischen Informationen im Arbeitsprojekt deaktiviert werden.

Registrierungsschlüssel, die das Laden von symbolischen Informationen steuern

Sie können die folgenden Registrierungsschlüssel verwenden (in Controller\ScriptSupport), um zu steuern, ob die .pdb-Dateien geladen werden sollen:

  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath] - gibt an, ob die .pdb-Dateien aus den Originalordnern der Assemblydateien geladen werden sollen (legen Sie den Schlüsselwert auf True fest, um .pdb-Dateien zu laden);
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [PDBSearchLocations] = <Pfad zum Ordner mit PDB-Dateien> - bestimmt die Suchpfade für .pdb-Dateien (Pfade müssen separat und durch ein Semikolon getrennt aufgelistet werden; das Suchergebnis ist eine .pdb-Datei mit symbolischen Informationen, deren Name mit dem Assemblynamen übereinstimmt.

Diese Schlüssel werden nicht standardmäßig in der Registrierung erstellt. Der Administrator kann diese Schlüssel gegebenenfalls zur Registry des Betriebssystems auf dem Rechner des Benutzers hinzufügen.

Damit die Änderungen in der Registry übernommen werden, müssen Sie das Programm neu starten.

Für das Debugging einer Assembly muss die Verbindung zum verwalteten Code verwendet werden.

11/10/2020 12:08:03 PM


Please leave your feedback about this article