> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IProcessingEvents インターフェイスの OnProgress メソッド

> ABBYY FineReader Engine API の IProcessingEvents インターフェイスの OnProgress メソッド — Engine.InjectTextLayer によって呼び出され、進行率のパーセンテージ情報を渡し、キャンセルを可能にするクライアント側メソッド。

このメソッドはクライアント側で実装されます。ABBYY FineReader Engine が、[Engine](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface) オブジェクトの [InjectTextLayer](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/injecttextlayer-method) メソッドの実行時にこのメソッドを呼び出します。このメソッドは、処理の完了率のおおよその情報をクライアントに渡します。実装では、ABBYY FineReader と同様に、進行状況インジケーターを表示できます。また、長時間の処理中にアプリケーションが応答していないように見えるのを防ぐため、システムメッセージを処理することもできます。

<div id="syntax">
  ## 構文
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT OnProgress(
  int           Percentage,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnProgress(
  int      Percentage,
  ref bool Cancel
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Sub OnProgress( _
  Percentage As Integer, _
  ByRef Cancel As Boolean _
)
```

<div id="parameters">
  ## Parameters
</div>

Percentage

\[in] このParameterには、現在完了している処理の割合が格納されます。値の範囲は 0 ～ 100 です。

Cancel

\[in, out] この変数を TRUE に設定すると、プロセスを終了すべきことを示せます。この場合、割合を報告する処理関数は E\_ABORT を返します。

<div id="return-values">
  ## 戻り値
</div>

\[C++ のみ] このメソッドが S\_OK 以外の値を返した場合は、クライアント側でエラーが発生したことを示します。この場合、Cancel Parameter の値は考慮されません。

<div id="remarks">
  ## 注記
</div>

このメソッドのクライアント側実装では、メソッド内で発生するすべての例外を確実にキャッチして処理し、メソッドの外に伝播しないようにする必要があります。例外がメソッドの外に伝播すると、予期しない結果 (プログラムの終了など) を招くおそれがあります。

<div id="see-also">
  ## 関連項目
</div>

[IProcessingEvents](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/iprocessingevents)

[IEngine::InjectTextLayer](/ja/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/injecttextlayer-method)
