属性处理
ABBYY FineReader Engine 对象的接口有多种属性和方法。一般来说,属性表示关于对象的信息,而方法表示对象可执行的操作。
对于 C++ 用户,属性是get和put方法(读写属性 )或单个get方法(只读属性)。
ABBYY FineReader Engine 属性可包含以下类型:
- VARIANT_BOOL(具有两个值 VARIANT_TRUE 或 VARIANT_FALSE)
- int
- double
- BSTR,Unicode 字符串指针。零值指定空字符串。
- __int64
- HANDLE*
- IUnknown-derived interface
- enum
不同类型属性的处理方式如下:
处理简单属性
处理字符串属性
Working with object properties
处理只读对象属性
某些 ABBYY FineReader Engine 对象(例如,ILayout::Blocks)具有只读对象属性。此类属性并非不可更改,只是不能通过直接用另一个对象替代其对象属性对其更改,因为不支持“put”方法。不过,您可以更改这些对象的子对象。
假设 要更改这样的属性,则需要将属性对象的引用传递给新变量,然后使用该变量来更改它。只读集合 ILayout::Blocks 属性的 C++ 示例如下:
// 假设页面已打开 ILayout* pLayout = 0; ILayoutBlocks* pLayoutBlocks = 0; int blockIndex = 0; // 接收之前打开的 FRPage 的布局 pFRPage->get_Layout( &pLayout ); // pLayoutBlocks 变量收到 Layout 的块集合的引用 pLayout->get_Blocks( &pLayoutBlocks ); // 从块集合去除一个元素 pLayoutBlocks->DeleteAt( blockIndex ); // 处理修改的布局 ... // 发布对象 pLayoutBlocks->Release(); pLayout->Release();
03.07.2024 8:50:25