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

# Método OnProgress de la interfaz IDocumentViewerEvents

> Método OnProgress de la interfaz IDocumentViewerEvents en ABBYY FineReader Engine Visual Components para Windows: este método se implementa del lado del cliente.

Este método se implementa del lado del cliente. ABBYY FineReader Engine lo llama durante el análisis o reconocimiento de la página activa en [Document Viewer](/es/fine-reader/engine/visual-components-reference/documentviewer). El proceso puede invocarse de una de las siguientes maneras:

* usando los comandos de Document Viewer:
  * [MI\_Read](/es/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_read)
  * [MI\_AnalyzeLayout](/es/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands#mi_analyzelayout)

Para ver cómo se pueden llamar estos comandos, consulte la lista de [Document Viewer Commands](/es/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands).

* usando los siguientes comandos de [Image Viewer](/es/fine-reader/engine/visual-components-reference/imageviewer), sincronizado con Document Viewer:
  * [MI\_Read](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_read)
  * [MI\_ReadBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_readblock)
  * [MI\_AnalyzeLayout](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_analyzelayout)
  * [MI\_AnalyzeLayoutInBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_analyzelayoutinblock)

Para ver cómo se pueden llamar estos comandos, consulte la lista de [Image Viewer Commands](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands).

* usando los siguientes comandos de [Zoom Viewer](/es/fine-reader/engine/visual-components-reference/zoomviewer), sincronizado con Image Viewer:
  * [MI\_Read](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_read)
  * [MI\_ReadBlock](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_readblock)
  * [MI\_AnalyzeLayout](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_analyzelayout)
  * [MI\_AnalyzeLayoutInBlock](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands#mi_analyzelayoutinblock)

Para ver cómo se pueden llamar estos comandos, consulte la lista de [Zoom Viewer Commands](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands).

* mediante la API de FineReader Engine

Este método proporciona al cliente un porcentaje aproximado del progreso de la operación. Su implementación puede mostrar un indicador de progreso. Procese cualquier mensaje del sistema para evitar que la aplicación parezca no responder durante operaciones prolongadas. Esto puede resultar útil en aplicaciones con interfaz de usuario. Este método también permite cancelar la operación.

<div id="syntax">
  ## Sintaxis
</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">
  ## Parámetros
</div>

Percentage

\[in] Contiene el porcentaje del trabajo realizado hasta el momento. Está en un rango de 0 a 100.

Cancel

\[out] Puede establecer esta variable en TRUE para indicar que el proceso debe finalizar. En este caso, se abortará el proceso de análisis o reconocimiento.

<div id="return-values">
  ## Valores de retorno
</div>

\[Solo en C++] Si este método devuelve un valor distinto de S\_OK, significa que se produjo un error en el lado del cliente y, en este caso, el valor del parámetro Cancel no se tiene en cuenta.

<div id="remarks">
  ## Observaciones
</div>

La implementación cliente de este método debe garantizar que todas las excepciones que se produzcan dentro del método se capturen y se gestionen, y que ninguna se propague fuera del método. La propagación de una excepción fuera del método puede dar lugar a resultados imprevisibles (como la finalización del programa).

<div id="see-also">
  ## Consulte también
</div>

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

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