Zum Hauptinhalt springen
Externe Assemblies können in Skripten und Sprachmodulen verwendet werden. Dabei lassen sich sowohl Standard- als auch kompilierte Benutzer-Assemblies einsetzen.”

Externe Assemblies hinzufügen

Eine Assembly kann auf der Registerkarte .NET References in den (Administrator)-Eigenschaften des Batch-Typs, den Projekteigenschaften oder den Eigenschaften der Dokumentdefinition bzw. in den (Developer)-Eigenschaften des Batch-Typs, den Projekteigenschaften oder den Eigenschaften der Dokumentdefinition hinzugefügt werden. Alle Klassen der hinzugefügten Assemblies sind in Skripten und globalen Sprachmodulen verfügbar. Assemblies, die in den Eigenschaften des Batch-Typs und den Eigenschaften der Dokumentdefinition hinzugefügt werden, sind jeweils nur für den entsprechenden Batch-Typ bzw. die entsprechende Dokumentdefinition verfügbar. Assemblies, die in den Projekteigenschaften hinzugefügt werden, sind gemeinsame Assemblies und stehen allen Batch-Typen und Dokumentdefinitionen des jeweiligen Projekts zur Verfügung. Wenn Sie also dieselbe Assembly für verschiedene Batch-Typen und Dokumentdefinitionen verwenden müssen, können Sie eine gemeinsame Assembly verwenden. Wenn eine gemeinsame Assembly aktualisiert werden muss, brauchen Sie sie nur in den Projekteigenschaften zu aktualisieren. Gehen Sie wie folgt vor, um eine Assembly in den Projekteigenschaften hinzuzufügen:
  1. Klicken Sie auf der Registerkarte .NET References der Projekteigenschaften auf Add…
  2. Wählen Sie im Dialogfeld Add Assembly, das sich öffnet, den Typ Standard assembly name oder Attached file aus.
  3. Geben Sie je nach ausgewähltem Typ entweder den Standard-Assemblynamen ein oder wählen Sie eine Assembly-Datei aus.
Eine gemeinsame Assembly wird neu erstellten Batch-Typen automatisch hinzugefügt. Gehen Sie wie folgt vor, um eine gemeinsame Assembly zu Dokumentdefinitionen und vorhandenen Batch-Typen hinzuzufügen:
  1. Klicken Sie auf der Registerkarte .NET References der Eigenschaften des Batch-Typs oder der Dokumentdefinition auf Add…
  2. Wählen Sie im Dialogfeld Add Assembly, das sich öffnet, die Option Shared assembly aus.
  3. Wählen Sie den Namen der Assembly aus der Liste Reference aus. Hinweis: Sie können keine gemeinsame Assembly mit einem Namen hinzufügen, der dem Namen einer vorhandenen Standard-Assembly ähnelt.
Unten finden Sie Beispielcode für die Benutzer-Assembly, die einen Namespace, eine Klasse und eine Methode dieser Klasse enthält:
namespace TestNameSpace
{
public class Test
 {
 public void Show(string text)
  {
// zeigt Text mit Standard-FlexiCapture-Mitteln an: statische Methode void ShowMessage(string text, bool IsError) aus der statischen Klasse FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false);
  }
 }
}
Damit Klassen und Methoden einer hinzugefügten Assembly für die Ereignishandler-Skripte verfügbar sind, muss sie auf der Registerkarte .NET References der Eigenschaften des Batch-Typs (für einen bestimmten Batch-Typ) bzw. der Projekteigenschaften (für den Default-Batch-Typ) hinzugefügt werden. Für die folgenden Skripte werden Externe Assemblies auf der Registerkarte .NET References der Eigenschaften der Dokumentdefinition hinzugefügt: Das Skript, das Klassen und Methoden aus der externen Assembly verwendet, muss folgenden Code enthalten:
TestNameSpace.Test test = new TestNameSpace.Test(); // erstellt ein Objekt der Klasse Test
test.Show("hello world"); // ruft die Methode void Show() der Klasse Test auf

Debuggen externer Assemblies

Beim Debuggen externer Assemblies werden sowohl die Assembly-Datei als auch eine .pdb-Datei mit Symbolinformationen benötigt. Nur Assemblies mit geladenen .pbd-Dateien lassen sich debuggen. Da .pbd-Dateien recht groß sind, ist es besser, das Laden von Symbolinformationen im aktuellen Projekt zu deaktivieren.

Registrierungsschlüssel, die das Laden von Symbolinformationen steuern

Sie können die folgenden Registrierungsschlüssel verwenden, um festzulegen, ob .pdb-Dateien geladen werden sollen:
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath] - gibt an, ob .pdb-Dateien aus den ursprünglichen Ordnern der Assembly-Dateien geladen werden sollen (setzen Sie den Schlüsselwert auf true, um .pdb-Dateien zu laden);
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [PDBSearchLocations] = - legt die Suchpfade für .pdb-Dateien fest (die Pfade müssen durch Semikolons getrennt angegeben werden; das Suchergebnis ist eine .pdb-Datei mit Symbolinformationen, deren Name mit dem Namen einer Assembly übereinstimmt).
Diese Schlüssel werden standardmäßig nicht in der Registrierung erstellt. Falls erforderlich, kann der Administrator diese Schlüssel in die Registrierung des Betriebssystems des Benutzers eintragen. Damit die Änderungen in der Registrierung wirksam werden, müssen Sie das Programm neu starten. Zum Debuggen einer Assembly muss die Verbindung mit verwaltetem Code verwendet werden.