FormSuite v6.0 - Updated
Component Management and Configuration
Overview > Concepts > Forms API > Implementing a Forms Processing Application > Component Management and Configuration

The Forms API encapsulates creation and destruction of Accusoft's FormSuite component objects in the Processor class. These component classes include SmartZone OCR, SmartZone ICR, ScanFix Xpress, and FormFix. The component class list may also include FormDirector, as noted below.

The Use of FormDirector

Calling code may pass the name of a form set file to one of the following:

More information about loading FormSets and FormDefinitions can be found in the Accusoft FormDirector SDK help file.

Lazy Loading of Components

The Processor class does not create all required component classes during initialization of a Processor object; instead, these objects are created lazily on a needs basis. The maximum number of component instances that can be created depends on whether the Processor was built to support multithreading or not.

Runtime Licensing

The LicenseKeychain class provides a place to hold Runtime Licensing details used to unlock FormFixFormDirectorSmartZone OCRSmartZone ICR, and ScanFix Xpress component instances.

Processor objects are created from LicensingKeychain objects so that component instances can be unlocked as needed. By default, LicensingKeychain objects are empty and so components behave according to either Evaluation Licensing (or Toolkit Licensing if installed).

Evaluation Licensing

Accusoft components operating under Evaluation Licensing either display a trial dialog periodically or stop working after a timeout has elapsed. When Processor objects are created for windowless operation, trial dialogs are not shown and components begin throwing exceptions after a few minutes of operation.

Debug Configuration

Debug configuration of components is specified through properties of the components. Like with runtime unlocks, the Forms API provides a class where the caller can specify a debug configuration to use for each component that is created.

The Processor class has a property called DebugOptions that gets an object of type DebugOptions. The DebugOptions class exposes properties that get or set a value indicating whether debugging is enabled for all components, the debug log file that will be used for all components, and an ErrorLevel value that indicates the amount of information to write to the debug log for each component.

The ErrorLevel is set separately for each component and can be set to one of four different levels:

 

Is this page helpful?
Yes No
Thanks for your feedback.