OCR SDK Knowledge Base

Article ID: 1097 | Category: General Questions | Type: FAQ | Last Modified: 9/18/2015

"Engine deinitialization failed"

Description

Why does the error message "Engine deinitialization failed" occur?

Solution

The exception "Engine deinitialization failed" is thrown during deinitialization of the Engine object if not all the objects which were created and used by the application have been deleted before the deinitialization of the Engine object. If all the objects have been deleted the exception may be caused by the scavenger operation.

You can use the StartLogging method of the Engine object to get the list of objects that have not been deleted.

Visual Basic

If the application is developed in Visual Basic .Net all objects with the Nothing value are not deleted, they are only marked for deletion. The exact moment when the garbage collector deletes the object is not known. Therefore, you should call the following methods before deinitializing the Engine object so that the garbage collector deletes the object:

GC.Collect()
GC.WaitForPendingFinalizers() 

Delphi

In Delphi all objects with the nil value are deleted only after exiting the procedure in which the objects were declared. Therefore, the entire ABBYY FineReader Engine code must be inserted into a separate procedure, and this procedure must be called before the deinitialization of the Engine object.

498 people think this is helpful.
Was this information helpful to you?