Buongiorno,
avrei bisogno di una dritta riguardo la gestione dei risultati di un processo asincrono.
Passo delle pagine di un documento multipagina ad un processo asincrono OCR in ordine corretto, ma la sequenza dei risultati poi dipende dal tempo di elaborazione della singola pagina, quindi i risultati tornano in ordine casuale.
Domanda: Quale è l'approccio più semplice e che meno rallenta l'app per mettere i risultati nell'ordine originale?
procedure TfrmMain.actSelectPagesExecute(Sender: TObject);
var
i: Integer;
begin
if ImageCount > 0 then
begin
memText.Lines.Clear;
for i := 0 to ImageCount do
ExtractText(i);
end;
end;
procedure TfrmMain.ExtractText(i: Integer);
begin
OCR.Picture.Assign(Bitmap(i));
OCR.Recognize(0,
procedure (const Result: TResult)
begin
memText.Lines.Add(Result.Text);
end);
end;
Mille grazie in anticipo,
Alessandro