The ActiveX controls can be divided into the following main groups:

  • Visuals

  • MediumWeightVisuals

Legacy visual controls work only with an in-process IPRO server. MediumWeight Visuals enable the integration of and out-process IPRO server as well.

To have proper interworking, a legacy or MediumWeight control needs to be attached to the relevant IPRO object, either a Document or an Engine.

There are some issues to consider when attaching a control to an Engine or a Document:

  • Controls providing document view, for example, Thumbnail and Details, can be attached only to a Document object.

  • Controls attachable to both engines and documents, for example, Setting view, Recognition language view, or Dictionary view, provide information depending on what they are attached to. Controls attached to an Engine show all engine-specific information. Controls attached to a Document show document-specific information. The displayed information can differ between the engine-attached and document-attached version of the same control.

The system-level information of IPRO is the session 0, stored as a template. Each document gets a session from the current document session and there is no inter-visibility among document sessions. The sessions requested from the various engines can show values that differ from the document session values.

The default interfaces of the framework are simple, and are mostly not used. For both types of control, the main type of interface is the event interface. The event interface has two types, both providing the same tasks.

  • The disp interface usually denotes an ActiveX control. It is secure, as it is always called on a UI thread, the client-side does not have to be thread-safe. It has very slow execution.

  • The custom interface provides very quick action, but as the call does not necessarily arrive on a UI thread. In these cases the event can get lost.

The disp interface is the default interface offered for objects.

All controls of the program implement a number of pre-defined interfaces, thus providing a unified user interface for the various controls.

The actual visual appearance of the visual controls takes its defaults from the operating system.