Russian (Русский) - Change language

Внешние сборки

В скриптах и глобальных модулях разрешается использовать внешние сборки. Можно использовать как стандартные, так и откомпилированные пользовательские сборки.

Подключение внешней сборки

Внешние сборки добавляются на вкладке Сборки .Net в свойствах типа пакета, в свойствах проекта или в свойствах определения документа. Все классы и методы из добавленных сборок доступны в скриптах и глобальных модулях.

Сборки, добавленные в свойствах типа пакета или определения документа, доступны определенному типу пакета или определению документа соответственно. Сборки, добавленные в свойствах проекта, являются общими сборками, доступными всем типам пакетов и определениям документов данного проекта. Таким образом, если вам требуется использовать одну и ту же сборку для различных типов пакета и определений документов, вы можете использовать общую сборку. Если общую сборку необходимо обновить, вам нужно будет обновить ее только в свойствах проекта.

Для добавления сборки в свойствах проекта выполните следующие действия:

  1. На вкладке Сборки .Net свойств проекта нажмите Добавить...
  2. В открывшемся диалоговом окне Добавление сборки выберите тип: Стандартное имя сборки или Путь к прикрепленному файлу.
  3. В зависимости от выбранного типа введите стандартное имя сборки или укажите путь к файлу сборки.

Общая сборка добавляется во вновь созданные типы пакета автоматически. Для добавления общей сборки в определения документа и в ранее созданные типы пакета выполните следующие действия:

  1. На вкладке Сборки .Net свойств типа пакета или определения документа нажмите Добавить...
  2. В открывшемся диалоговом окне Добавление сборки выберите Общая сборка.
  3. Выберите имя сборки из списка Ссылка.
    Замечание. Если в типе пакета уже содержится стандартная сборка с указанным именем, добавить общую сборку с таким же именем нельзя.

Пример кода пользовательской сборки, содержащей пространство имен, класс и метод этого класса:

namespace TestNameSpace
{
public class Test
   {
   public void Show(string text)
      {
      // will show text by standard FlexiCapture means – static method void ShowMessage(string text, bool IsError) from static class FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false);
      }
   }
}
    

Для того чтобы классы и методы из добавленной сборки были доступны из скриптов- обработчиков событий, сборка должна быть добавлена на вкладке Сборки .Net свойств типа пакета (для определенного типа пакета) или свойствах проекта (для типа пакета по умолчанию).

Для следующих скриптов внешние сборки добавляются на вкладке Сборки .Net свойств определения документа:

Скрипт, использующий классы и методы из внешней сборки, должен содержать следующий код:

TestNameSpace.Test test = new TestNameSpace.Test();// creates an object of Test class
test.Show(“hello world”);// calls void Show() method from Test class
    

Отладка .Net-сборки

Для отладки внешних сборок, помимо самой сборки, требуется также PDB-файл с символьной информацией. Отладка возможна только для сборок, для которых загружена символьная информация. Этот файл имеет большой размер, поэтому загрузку символьной информации желательно отключать в рабочем проекте.

Ключи в реестре, контролирующие загрузку символьной информации:

В реестре можно задать следующие ключи, позволяющие подключать PDB-файл с символьной информацией (можно задать один ключ или оба):

  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath]
    - определяет, нужно ли загружать PDB-файлы из той же папки, откуда загружена сборка (для загрузки файлов нужно установить значение ключа true);
  • HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [PDBSearchLocations] = <путь к папке с PDB-файлами>
    - служит для перечисления путей, по которым нужно искать PDB-файлы для сборок (пути должны быть перечислены через точку с запятой; при поиске загружается файл с символьной информацией (*.pdb), имя которого совпадает с именем сборки).

В реестре ключи по умолчанию не создаются. Администратор при необходимости может добавить эти ключи в реестр пользователя.

Изменения в реестре вступают в силу после перезапуска программы.

Для отладки сборки нужно подключаться к managed-коду.

10.11.2020 12:08:08


Please leave your feedback about this article