跳转到主要内容
ABBYY FineReader Engine 12 与 ABBYY FineReader Engine 10 不具备二进制兼容性。使用 ABBYY FineReader Engine 10 编译的应用程序应改用 ABBYY FineReader Engine 12 的头文件和库重新编译。由于 ABBYY FineReader Engine API 的改进,可能还需要对源代码进行一些修改。 主要变化:
  • 在所有使用 long 数据类型的属性和方法中,long 数据类型都已替换为 int 数据类型。之所以进行这一更改,是为了避免歧义:在不同操作系统中,long 数据类型可能是 64 位,也可能是 32 位,而 int 数据类型始终为 32 位。
  • 此外,还引入了 __int64 数据类型。在 Windows 中,还引入了新的 Handle 对象,用于管理内存分配,帮助您在处理内存中的资源时避免内存泄漏。它还提供了转换为 __int64 的方法。
  • 在 Windows 中,许多对象提供的 SaveToMemoryLoadFromMemory 方法的参数类型已更改:
  • 现在,SaveToMemory 方法会以 Handle 对象的形式返回内存缓冲区的句柄。
  • 内存缓冲区的句柄作为 __int64 传递给 LoadFromMemory 方法。
  • Classification API 已被完全替换,采用了新的改进算法,并提供了内置的交叉验证技术。
  • 现在必须通过 InitializeEngine 函数加载 Engine 对象。用于加载 Engine 的 GetEngineObject 和 GetEngineObjectEx 函数已从 ABBYY FineReader Engine 中移除。
有关 API 中其他更改的详细说明,请参见相应章节: