I am using Java API and I am wondering what is IEngine.Release() function? I cannot find it in documentation.
If I release engine what is going to happen when I load it again like Engine.GetEngineObject(SamplesConfig.GetDllFolder(), SamplesConfig.GetDeveloperSN())? Is it new object or reference to old one?
What if Release() function is called during document.process() execution (from different thread)?
asked 04 Nov '15, 18:34
We are extremely sorry for a long silence.
If you call the IEngine.Release() function, this leads to the release of the IEngine object, but does not lead to the deinitialization of the IEngine object. This function is an additional instrument for the correct DeinitializeEngine. It was actual and important to release the IEngine object before DeinitializeEngine in the previous versions of FineReader Engine. As you use FineReader Engine 11 you can simply disregard it, now you only need to call the DeinitializeEngine function from the same thread where you have earlier called the GetEngineObject function.
One more thing I would like to note that the automatic call of the DeinitializeEngine function occurs only when you use COM wrappers (inprocLoader, outprocLoader). If you load FineReader Engine explicitly using GetEngineObject, Engine.Load for Java, then it must be unloaded also explicitly using DeinitizlizeEngine, Engine.Unload for Java.
Also please see Developer's Help > Guided Tour > Advanced Techniques > Parallel Processing to know how utilize multiprocessing capabilities of your hardware configurations and Developer's Help > Guided Tour > Advanced Techniques > Programming Aspects > Using ABBYY FineReader Engine in Java for more details.
answered 18 Nov '15, 13:04
Oksana Serdyuk ♦♦