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

> Método OnProgress de la interfaz IImageViewerEvents en ABBYY FineReader Engine Visual Components en 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 [Image Viewer](/es/fine-reader/engine/visual-components-reference/imageviewer). El proceso puede iniciarse de una de las siguientes maneras:

* mediante los siguientes comandos de [Image Viewer](/es/fine-reader/engine/visual-components-reference/imageviewer):
  * [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 saber cómo se pueden llamar estos comandos, consulte la lista [Image Viewer Commands](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands).

* mediante 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 saber cómo se pueden llamar estos comandos, consulte la lista [Zoom Viewer Commands](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands).

* mediante los comandos de [Document Viewer](/es/fine-reader/engine/visual-components-reference/documentviewer), sincronizado con Image 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 saber cómo se pueden llamar estos comandos, consulte la lista [Document Viewer Commands](/es/fine-reader/engine/visual-components-reference/documentviewer/document-viewer-commands).

* mediante la API de FineReader Engine

Proporciona al cliente el porcentaje aproximado de progreso de la operación. Su implementación puede mostrar un indicador de progreso. También puede procesar mensajes del sistema para ayudar a evitar que la aplicación deje de responder durante operaciones largas. Esto puede resultar útil en aplicaciones con interfaz de usuario. Con este método también es posible 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>

Porcentaje

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

Cancel

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

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

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

<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 gestionen, y que no se propaguen 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>

[ImageViewer](/es/fine-reader/engine/visual-components-reference/imageviewer)

[IImageViewerEvents](/es/fine-reader/engine/visual-components-reference/iimageviewerevents)
