このメソッドはクライアント側で実装されます。ABBYY FineReader Engine によって、FRDocument オブジェクトの一部のメソッドから呼び出されます。クライアントには、現在の処理 (画像のロード、解析、認識など) のおおよその進捗率に関する情報が渡されます。実装では、ABBYY FineReader と同様に進捗インジケーターを表示できます。
Windows では、長時間の処理中にアプリケーションが応答していないように見えるのを防ぐため、システム メッセージを処理することもできます。これは、ユーザー インターフェイスを備えたアプリケーションで役立ちます。
HRESULT OnProgress(
IFRDocument* Sender,
int Percentage,
VARIANT_BOOL* Cancel
);
void OnProgress(
IFRDocument Sender,
int Percentage,
ref bool Cancel
);
Sub OnProgress( _
Sender As IFRDocument, _
Percentage As Integer, _
ByRef Cancel As Boolean _
)
Sender
[in] このパラメーターは、通知を送信する FRDocument オブジェクトを参照します。
Percentage
[in] このパラメーターには、現在完了している作業の割合が格納されます。範囲は 0 ~ 100 です。
Cancel
[in, out] 処理を中止する必要があることを示すには、この変数を TRUE に設定します。この場合、処理関数は E_ABORT を返します。
[C++ のみ] このメソッドが S_OK 以外の値を返した場合は、クライアント側でエラーが発生したことを示します。この場合、Cancel パラメーターの値は考慮されません。
このメソッドのクライアント実装では、メソッド内でスローされるすべての例外を確実にキャッチして処理し、いかなる例外もメソッドの外に伝播しないようにする必要があります。例外がメソッドの外に伝播すると、予期しない結果 (プログラムの終了など) を招くおそれがあります。
IFRDocumentEvents
FRDocument