이 메서드는 클라이언트 측에서 구현됩니다. ABBYY FineReader Engine은 FRDocument 객체의 일부 메서드에서 이 메서드를 호출합니다. 이 메서드는 현재 작업(이미지 로드, 분석, 인식 등)의 대략적인 진행률 정보를 클라이언트에 전달합니다. 구현에 따라 ABBYY FineReader처럼 진행률 표시기를 표시할 수 있습니다.
Windows에서는 긴 작업이 진행되는 동안 애플리케이션이 응답하지 않는 것처럼 보이지 않도록 시스템 메시지도 처리할 수 있습니다. 이는 사용자 인터페이스가 있는 애플리케이션에서 특히 유용합니다.
HRESULT OnProgress(
IFRDocument* Sender,
int Percentage,
VARIANT_BOOL* Cancel
);
void OnProgress(
IFRDocument Sender,
int Percentage,
ref bool Cancel
);
Sub OnProgress( _
Sender As IFRDocument, _
Percentage As Integer, _
ByRef Cancel As Boolean _
)
Sender
[in] 이 매개변수는 알림을 전송하는 FRDocument 객체를 참조합니다.
Percentage
[in] 이 매개변수는 현재 완료된 작업의 백분율을 나타냅니다. 값의 범위는 0에서 100 사이입니다.
Cancel
[in, out] 이 변수를 TRUE로 설정하면 프로세스를 종료하도록 지정할 수 있습니다. 이 경우 처리 함수는 E_ABORT를 반환합니다.
[C++ 전용] 이 메서드가 S_OK 이외의 값을 반환하면 클라이언트 측에서 오류가 발생했음을 의미하며, 이 경우 Cancel 매개변수의 값은 고려되지 않습니다.
이 메서드의 클라이언트 구현은 메서드 내부에서 발생한 모든 예외를 반드시 포착하여 처리하고, 어떤 예외도 메서드 외부로 전파되지 않도록 해야 합니다. 예외가 메서드 외부로 전파되면 예측할 수 없는 결과(예: 프로그램 종료)가 발생할 수 있습니다.
IFRDocumentEvents
FRDocument