Passer au contenu principal
Il est possible d’utiliser des assemblies externes dans les scripts et les modules globaux. Les assemblies standard et les assemblies utilisateur compilées peuvent être utilisées.

Ajout d’assemblies externes

Une assembly peut être ajoutée dans l’onglet .NET References des propriétés du type de lot (Administrator), des propriétés du projet ou des Document Definition Properties (Developer). Toutes les classes des assemblies ajoutées sont disponibles dans les scripts et les modules globaux. Les assemblies ajoutées dans les propriétés du type de lot et dans Document Definition Properties sont disponibles respectivement pour un type de lot ou une Document Definition spécifique. Les assemblies ajoutées dans les propriétés du projet sont des assemblies partagées, disponibles pour tous les types de lots et toutes les Document Definitions du projet concerné. Ainsi, si vous devez utiliser la même assembly pour différents types de lots et Document Definitions, vous pouvez utiliser une assembly partagée. Si une assembly partagée doit être mise à jour, vous devez la mettre à jour uniquement dans les propriétés du projet. Pour ajouter une assembly dans les propriétés du projet, procédez comme suit :
  1. Dans .NET References des propriétés du projet, cliquez sur Add…
  2. Dans la boîte de dialogue Add Assembly qui s’ouvre, sélectionnez le type : Standard assembly name ou Attached file.
  3. Selon le type sélectionné, saisissez le nom de l’assembly standard ou recherchez un fichier d’assembly.
Une assembly partagée est automatiquement ajoutée aux nouveaux types de lots créés. Pour ajouter une assembly partagée aux Document Definitions et aux types de lots existants, procédez comme suit :
  1. Dans .NET References des propriétés du type de lot ou de Document Definition, cliquez sur Add…
  2. Dans la boîte de dialogue Add Assembly qui s’ouvre, sélectionnez Shared assembly.
  3. Sélectionnez le nom de l’assembly dans la liste Reference. Remarque : Vous ne pouvez pas ajouter une assembly partagée dont le nom est similaire à celui d’une assembly standard existante.
Vous trouverez ci-dessous un exemple de code d’une assembly utilisateur contenant un namespace, une classe et une méthode de cette classe :
namespace TestNameSpace
{
public class Test
 {
 public void Show(string text)
  {
// affiche le texte via les moyens standard de FlexiCapture : méthode statique void ShowMessage(string text, bool IsError) de la classe statique FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false);
  }
 }
}
Pour que les classes et les méthodes d’une assembly ajoutée soient accessibles aux scripts de gestion d’événements, cette assembly doit être ajoutée dans l’onglet .NET References des propriétés du type de lot (pour un type de lot particulier) ou des propriétés du projet (pour le type de lot Default). Pour les scripts suivants, les assemblys externes sont ajoutées dans l’onglet .NET References de Document Definition Properties : Le script qui utilise des classes et des méthodes de l’assembly externe doit contenir le code suivant :
TestNameSpace.Test test = new TestNameSpace.Test(); // crée un objet de la classe Test
test.Show("hello world"); // appelle la méthode void Show() de la classe Test

Débogage des assemblies externes

Lors du débogage des assemblies externes, le fichier assembly et un fichier .pdb contenant les informations symboliques sont tous deux requis. Seules les assemblies dont les fichiers .pbd sont chargés peuvent être déboguées. Comme les fichiers .pbd sont assez volumineux, il est préférable de désactiver le chargement des informations symboliques dans le projet en cours.

Clés de registre qui contrôlent le chargement des informations symboliques

Vous pouvez utiliser les clés de registre suivantes pour indiquer si les fichiers .pdb doivent être chargés :
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath] - indique s’il faut charger les fichiers .pdb à partir des dossiers d’origine des fichiers assembly (définissez la valeur de la clé sur true pour charger les fichiers .pdb) ;
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [PDBSearchLocations] = - définit les chemins de recherche des fichiers .pdb (les chemins doivent être indiqués en les séparant par des points-virgules ; le résultat de la recherche est un fichier .pdb contenant des informations symboliques dont le nom correspond à celui d’un assembly).
Ces clés ne sont pas créées dans le registre par défaut. Si nécessaire, l’administrateur peut les ajouter au registre du système d’exploitation de l’utilisateur. Pour que les modifications apportées au registre prennent effet, vous devez redémarrer le programme. Pour déboguer un assembly, vous devez utiliser une connexion au code managé.