> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visual Components: FineReader Engine 12 vs 10 Compatibility

> Backward compatibility changes between ABBYY FineReader Engine 12 and 10 Visual Components on Windows: renamed objects, data types, and migration notes.

<Note>
  This topic is applicable to FRE for Windows.
</Note>

Some of the changes are caused by the changes in FineReader Engine API. For details on these changes, please see [ABBYY FineReader Engine 12 and 10 Compatibility](/fine-reader/engine/specifications/backward-compatibility-issues/version-10). They are the following:

* ProcessingParams object has been renamed to [DocumentProcessingParams](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/documentprocessingparams)
* LongsCollection object has been renamed to [IntsCollection](/fine-reader/engine/api-reference/supplementary-objects-and-methods/intscollection)
* long data type has been replaced with int data type in all properties and methods that used it.

Other changes:

<table><thead><tr><th><p><strong>Object/Enumeration</strong></p></th><th><p><strong>Property/Method/Constant</strong></p></th><th><p><strong>What has happened?</strong></p></th><th><p><strong>Comment</strong></p></th></tr></thead><tbody><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/imageviewer">ImageViewer</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/imageviewer#windowhandle">WindowHandle</a></strong></p></td><td><p>The type of the property has been changed.</p></td><td><p>The property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td rowspan="7"><p><strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents">IImageViewerEvents</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/onactivepagechanging-method">OnActivePageChanging</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The process is not invoked if the active page is changed via API of Image Viewer. When the page is changed via API, the code developer is aware of it beforehand and does not need the notification. This process is invoked only when changed by user of the application.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/onlocked-method">OnLocked</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The method is called after Image Viewer has been locked or unlocked.</p></td></tr><tr><td><p><strong>OnRecognizeBlocks</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/onreadblocks-method">OnReadBlocks</a></strong>.</p></td></tr><tr><td><p><strong>OnRecognizePage</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/onreadpage-method">OnReadPage</a></strong>.</p></td></tr><tr><td><p><strong>OnDraw</strong></p></td><td><p>Removed</p></td><td><p>This method worked with low level drawing tools and presumed a large number of code to be written. As Image Viewer provides a wide variety of special tools for working with an image, so the method has been removed.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/ontablecellsselected-method">OnTableCellsSelected</a></strong></p></td><td><p>The second parameter has been renamed.</p></td><td><p>The new name of the second parameter is Rect. This name for rectangle input parameter is generally used in FineReader Engine API.</p></td></tr><tr><td><p><strong>OnToolDeleteBlocks</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/iimageviewerevents/ondeleteblocks-method">OnDeleteBlocks</a></strong>.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/zoomviewer">ZoomViewer</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/zoomviewer#windowhandle">WindowHandle</a></strong></p></td><td><p>The type of the property has been changed.</p></td><td><p>The property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td rowspan="7"><p><strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents">IZoomViewerEvents</a></strong></p></td><td><p><strong>OnActivePageChanging</strong></p></td><td><p>Removed</p></td><td><p>The event is never invoked because the active page cannot be changed via Zoom Viewer.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents/onlocked-method">OnLocked</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The method is called after Zoom Viewer has been locked or unlocked.</p></td></tr><tr><td><p><strong>OnRecognizeBlocks</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents/onreadblocks-method">OnReadBlocks</a></strong>.</p></td></tr><tr><td><p><strong>OnRecognizePage</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents/onreadpage-method">OnReadPage</a></strong>.</p></td></tr><tr><td><p><strong>OnDraw</strong></p></td><td><p>Removed</p></td><td><p>This method worked with low level drawing tools and presumed a large number of code to be written. As Zoom Viewer provides a wide variety of special tools for working with an enlarged image, so the method has been removed.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents/ontablecellsselected-method">OnTableCellsSelected</a></strong></p></td><td><p>The second parameter has been renamed.</p></td><td><p>The new name of the second parameter is Rect. This name for rectangle input parameter is generally used in FineReader Engine API.</p></td></tr><tr><td><p><strong>OnToolDeleteBlocks</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/izoomviewerevents/ondeleteblocks-method">OnDeleteBlocks</a></strong>.</p></td></tr><tr><td rowspan="2"><p><strong><a href="/fine-reader/engine/visual-components-reference/documentviewer">DocumentViewer</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/commands">Commands</a></strong></p></td><td><p>List of available commands has been changed.</p></td><td><p>The<strong> Style Editor</strong> is no longer available from the <strong>DocumentViewer</strong> window. The MI\_EditFontStyles constant is removed from the command list for this object.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/documentviewer#windowhandle">WindowHandle</a></strong></p></td><td><p>The type of the property has been changed.</p></td><td><p>The property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td rowspan="5"><p><strong><a href="/fine-reader/engine/visual-components-reference/idocumentviewerevents">IDocumentViewerEvents</a></strong></p></td><td><p><strong>OnRenumberPage</strong></p></td><td><p>Removed</p></td><td><p>Use the <strong><a href="/fine-reader/engine/visual-components-reference/idocumentviewerevents/onrenumberingpages-method">OnRenumberingPages</a></strong> method instead. The method differs from the old one in the following aspect: the method delivers to the client the new order of pages.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/idocumentviewerevents/onactivepagechanging-method">OnActivePageChanging</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The process is not invoked if the active page is changed via API of Document Viewer. When the page is changed via API, the code developer is aware of it beforehand and does not need the notification. This process is invoked only when changed by user of the application.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/idocumentviewerevents/onlocked-method">OnLocked</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The method is called after Document Viewer has been locked or unlocked.</p></td></tr><tr><td><p><strong>OnDraw</strong></p></td><td><p>Removed</p></td><td><p>This method worked with low level drawing tools and presumed a large number of code to be written. As Document Viewer provides a wide variety of special tools for working with pages in the document, so the method has been removed.</p></td></tr><tr><td><p><strong>OnTextEditorModeChange</strong></p></td><td><p>Removed</p></td><td><p>The method is obsolete. Now there is no need to synchronize the mode of Text Editor with the export settings specified in Document Viewer.</p></td></tr><tr><td><p><strong>TextEditorFlags</strong></p></td><td><br /></td><td><p>Removed</p></td><td><p>The flags are obsolete. The <strong>IDocumentViewerEvents::OnTextEditorModeChange </strong>method that used them has been removed.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/texteditor">TextEditor</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/texteditor#windowhandle">WindowHandle</a></strong></p></td><td><p>The type of the property has been changed.</p></td><td><p>The property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td rowspan="2"><p><strong><a href="/fine-reader/engine/visual-components-reference/itexteditorevents">ITextEditorEvents</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/itexteditorevents/onactivepagechanging-method">OnActivePageChanging</a></strong></p></td><td><p>Event invocation has been changed.</p></td><td><p>The process is not invoked if the active page is changed via API of Text Editor. When the page is changed via API, the code developer is aware of it beforehand and does not need the notification. This process is invoked only when changed by user of the application.</p></td></tr><tr><td><p><strong>OnDraw</strong></p></td><td><p>Removed</p></td><td><p>This method worked with low level drawing tools and presumed a large number of code to be written. As Text Editor provides a wide variety of special tools for editing recognized text, so the method has been removed.</p></td></tr><tr><td rowspan="2"><p><strong><a href="/fine-reader/engine/visual-components-reference/textvalidator">TextValidator</a></strong></p></td><td><p><strong><a href="/fine-reader/engine/visual-components-reference/textvalidator#windowhandle">WindowHandle</a></strong></p></td><td><p>The type of the property has been changed.</p></td><td><p>The property has the <strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">\_\_int64</a></strong> type.</p><p>This change has been made for 64-bit operating systems support.</p></td></tr><tr><td><p><strong>SkipPromptingWordForms</strong></p></td><td><p>Removed</p></td><td><p>This property is no longer supported due to the changes in recognition technologies.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellreplacementcollection">SpellReplacementCollection</a></strong></p></td><td><p><strong>Insert</strong></p><p><strong>Remove</strong></p><p><strong>RemoveAll</strong></p></td><td><p>Renamed</p></td><td><p>The new names of the methods are <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/insertat-method">InsertAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/deleteat-method">DeleteAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/deleteall-method">DeleteAll</a></strong>. They have been renamed to conform to the collection methods.</p></td></tr><tr><td><p><strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection">SpellWordCollection</a></strong></p></td><td><p><strong>Insert</strong></p><p><strong>Remove</strong></p><p><strong>RemoveAll</strong></p></td><td><p>Renamed</p></td><td><p>The new names of the methods are <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/insertat-method">InsertAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/deleteat-method">DeleteAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/deleteall-method">DeleteAll</a></strong>. They have been renamed to conform to the collection methods.</p></td></tr><tr><td rowspan="2"><p><strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/popupmenu">PopupMenu</a></strong></p></td><td><p><strong>Insert</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/popupmenu/insertat-method">InsertAt</a></strong>. This method has been renamed to conform to the collection methods.</p></td></tr><tr><td><p><strong>Remove</strong></p><p><strong>RemoveAt</strong></p><p><strong>RemoveAll</strong></p></td><td><p>Renamed</p></td><td><p>The new names of the methods are<strong> <a href="/fine-reader/engine/visual-components-reference/supplementary-objects/popupmenu/delete-method">Delete</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/popupmenu/deleteat-method">DeleteAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/popupmenu/deleteall-method">DeleteAll</a></strong>. They have been renamed to conform to the collection methods.</p></td></tr><tr><td rowspan="2"><p><strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/toolbar">Toolbar</a></strong></p></td><td><p><strong>Insert</strong></p></td><td><p>Renamed</p></td><td><p>The new name of the method is <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/toolbar/insertat-method">InsertAt</a></strong>. This method has been renamed to conform to the collection methods.</p></td></tr><tr><td><p><strong>Remove</strong></p><p><strong>RemoveAt</strong></p><p><strong>RemoveAll</strong></p></td><td><p>Renamed</p></td><td><p>The new names of the methods are<strong> <a href="/fine-reader/engine/visual-components-reference/supplementary-objects/toolbar/delete-method">Delete</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/toolbar/deleteat-method">DeleteAt</a></strong>, <strong><a href="/fine-reader/engine/visual-components-reference/supplementary-objects/toolbar/deleteall-method">DeleteAll</a></strong>. They have been renamed to conform to the collection methods.</p></td></tr><tr><td rowspan="3"><p><strong><a href="/fine-reader/engine/visual-components-reference/enumerations/menuitemenum">MenuItemEnum</a></strong></p></td><td><p>MI\_SaveAsDoc</p></td><td><p>Renamed</p></td><td><p>The new name of the constant is <a href="/fine-reader/engine/visual-components-reference/enumerations/menuitemenum#mi_saveasrtf">MI\_SaveAsRtf</a>. DOC output format is not supported. If you use this constant in an export method together with DOC extension of the output file, the output file will have DOC extension but will be RTF in fact.</p></td></tr><tr><td><p>MI\_MoveBlockToBackground</p></td><td><p>Removed</p></td><td><p>Use the <a href="/fine-reader/engine/visual-components-reference/enumerations/menuitemenum#mi_blocktype_backgroundpicture">MI\_BlockType\_BackgroundPicture</a> command instead. It means that the block should be assigned the "Background picture" type.</p></td></tr><tr><td><p>MI\_RemoveRunningTitles</p><p>MI\_RemovePictures</p></td><td><p>Removed</p></td><td><p>To show or hide pictures and running titles in Text Editor, use the <a href="/fine-reader/engine/visual-components-reference/enumerations/menuitemenum#mi_showpictures">MI\_ShowPictures</a> and <a href="/fine-reader/engine/visual-components-reference/enumerations/menuitemenum#mi_showrunningtitles">MI\_ShowRunningTitles</a> commands.</p></td></tr></tbody></table>
