[FREngine 11] IEngine.Release() function

  • Last Post 17 November 2015
  • Topic Is Solved
zeljkoar posted this 04 November 2015


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)?

Thanks, Zeljko

Order By: Standard | Newest | Votes
zeljkoar posted this 17 November 2015

Could someone take a look into this question?

Oksana Serdyuk posted this 18 November 2015

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.

  • Liked by
  • zeljkoar