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

> Método OnProgress de la interfaz IZoomViewerEvents 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 el reconocimiento de la página activa en [Zoom Viewer](/es/fine-reader/engine/visual-components-reference/zoomviewer). El proceso puede invocarse de una de las siguientes formas:

* mediante los siguientes comandos de Zoom 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 [Zoom Viewer Commands](/es/fine-reader/engine/visual-components-reference/zoomviewer/zoom-viewer-commands).

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

* a través de 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>

Percentage

\[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 el proceso debe finalizar. En este caso, el proceso de análisis o reconocimiento se cancelará.

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

\[Solo 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 considera el valor del parámetro Cancel.

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

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

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

[ZoomViewer](/es/fine-reader/engine/visual-components-reference/zoomviewer)

[IZoomViewerEvents](/es/fine-reader/engine/visual-components-reference/izoomviewerevents)
