- No se utilizan palabras clave adicionales para acceder a los miembros de los objetos. Por ejemplo, en las reglas escritas en lenguajes .NET, el contexto de la regla se pasa como un parámetro con el nombre “Context”.
- Los ensamblados de .NET deben compilarse con Microsoft .NET Framework 4.0 o una versión posterior. Puede especificar la versión de .NET Framework deseada en las propiedades de su proyecto de Visual Studio.
- Es posible agregar un ensamblado externo que pueda usarse en scripts y módulos globales. Se pueden usar tanto ensamblados estándar como ensamblados de usuario compilados. Todas las clases de los ensamblados agregados estarán disponibles en los scripts y módulos globales. Consulte Ensamblados externos para obtener más información.
- Una vez compilado el script, su cuerpo compilado se almacena en la misma ubicación en la que está definido. Por lo tanto, un script .NET puede ocupar más espacio que otros scripts.
- Todos los objetos de FlexiCapture se definen como objetos COM, por lo que la ejecución de los scripts .NET puede ralentizarse si se accede con frecuencia a los campos de los objetos, debido a las transiciones entre código administrado y no administrado.
- Los objetos de FlexiCapture no admiten subprocesamiento múltiple.
- Para depurar scripts .NET, se utiliza el método System.Diagnostics.Debugger.Break.
- Al depurar scripts .NET, también necesita un archivo *.pdb con información de depuración. Este archivo puede ser muy grande y no recomendamos almacenarlo en el proyecto junto con sus scripts. Sin embargo, al depurar un script .NET, debe especificar que el script se compile con determinada información de depuración. Si utiliza Microsoft Visual Studio 2010, puede adjuntarse al proceso en el que se ejecuta el código .NET.
- Los objetos de script de FlexiCapture se almacenan en los ensamblados ControllerInterop.dll y ShellInterop.dll y pertenecen a los espacios de nombres ABBYY.FlexiCapture y ABBYY.FlexiCapture.ClientUI, respectivamente. Los ensamblados se encuentran en la carpeta raíz del programa.
- Se puede acceder a todos los objetos de script de ABBYY FlexiCapture por sus propios nombres desde los espacios de nombres ABBYY.FlexiCapture y ABBYY.FlexiCapture.ClientUI. Por ejemplo:
- Las directivas “Using” pueden escribirse al inicio del cuerpo del script junto con comentarios y cadenas vacías. Se utiliza la misma sintaxis que en el lenguaje de programación (using para C#.NET, Import para JScript.NET y Imports para VisualBasic.NET). Por ejemplo:
Puede usar la directiva using en el script editor, siempre y cuando la palabra clave “using” aparezca antes de la primera línea de código ejecutable. Por ejemplo:
- En los scripts de .NET, las funciones de todos los módulos globales se llaman directamente sin usar el nombre del módulo global. Nota: Las clases definidas en el Rule Global Script Module y en el Export Global Script Module deben tener nombres diferentes. De lo contrario, se producirá un error al crear una instancia de una clase en el código de una regla.
- Si no desea especificar el valor de un parámetro opcional de la función (en funciones con parámetros opcionales), debe pasar System.null o System.Type.Missing en su lugar.
En los scripts que se ejecutan de forma no interactiva (es decir, mediante el proceso FlexiEx.exe en lugar de FlexiCapture.exe), el botón Debug no se muestra de forma predeterminada para el proceso FlexiEx.exe en la ventana “Buscar una solución” (en los scripts que contienen un punto de interrupción). Para que se muestre el botón, haga clic en el icono de Action Center en la barra de tareas y seleccione Cambiar la configuración de Action Center → Configuración de informes de problemas → No buscar nunca soluciones.
