> ## 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.

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

> Windows 上の ABBYY FineReader Engine Visual Components における IDocumentViewerEvents インターフェイスの OnProgress メソッド — このメソッドはクライアント側で実装されます。

このメソッドはクライアント側で実装されます。[Document Viewer](/ja/fine-reader/engine/visual-components-reference/documentviewer) のアクティブ ページの解析または認識の実行中に、ABBYY FineReader Engine によって呼び出されます。この処理は、次のいずれかの方法で開始できます。

* Document Viewer のコマンドを使用:
  * [MI\_Read](/ja/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_read)
  * [MI\_AnalyzeLayout](/ja/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_analyzelayout)

これらのコマンドの呼び出し方法については、[Document Viewer Commands](/ja/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands) の一覧を参照してください。

* Document Viewer と同期された [Image Viewer](/ja/fine-reader/engine/visual-components-reference/imageviewer) の次のコマンドを使用:
  * [MI\_Read](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_read)
  * [MI\_ReadBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_readblock)
  * [MI\_AnalyzeLayout](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_analyzelayout)
  * [MI\_AnalyzeLayoutInBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_analyzelayoutinblock)

これらのコマンドの呼び出し方法については、[Image Viewer Commands](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands) の一覧を参照してください。

* Image Viewer と同期された [Zoom Viewer](/ja/fine-reader/engine/visual-components-reference/zoomviewer) の次のコマンドを使用:
  * [MI\_Read](/ja/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_read)
  * [MI\_ReadBlock](/ja/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_readblock)
  * [MI\_AnalyzeLayout](/ja/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_analyzelayout)
  * [MI\_AnalyzeLayoutInBlock](/ja/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_analyzelayoutinblock)

これらのコマンドの呼び出し方法については、[Zoom Viewer Commands](/ja/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands) の一覧を参照してください。

* FineReader Engine API 経由

このメソッドは、処理のおおよその進行率をクライアントに通知します。実装によっては、進行状況インジケーターを表示できます。長時間の処理中にアプリケーションが応答しなくなったように見えるのを防ぐため、システム メッセージを処理してください。これは、ユーザー インターフェイスを備えたアプリケーションで特に有用です。このメソッドを使用して、処理をキャンセルすることもできます。

<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,
  out 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">
  ## パラメーター
</div>

Percentage

\[in] 現在の作業の進捗率を示します。値の範囲は 0 ～ 100 です。

Cancel

\[out] プロセスを終了する必要があることを示すには、この変数を TRUE に設定します。この場合、解析または認識処理は中止されます。

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

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

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

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

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

[DocumentViewer](/ja/fine-reader/engine/visual-components-reference/documentviewer)

[IDocumentViewerEvents](/ja/fine-reader/engine/visual-components-reference/idocumentviewerevents)
