Je öfter ich Application.ProcessMessages auslöse umso langsamer wird der Import.
Eine Möglichkeit wäre, vor einem Aufruf von Application.ProcessMessages zu prüfen, wie lange der letzte Aufruf her ist. Erst dann, wenn das vor mehr als z.B. 100 ms war, wird dann Application.ProcessMessages aufgerufen:
Delphi-Quellcode:
var
LastCall: Int64;
ThisCall: Int64;
[...]
ThisCall := GetTickCount;
if (ThisCall - LastCall > 100) or (LastCall > ThisCall) then begin
Application.ProcessMessage;
LastCall := ThisCall;
end;
Also das ist ja echt simpel und funktioniert richtig gut.
Danke für den Tipp, ich denke ich werde es erstmal so anwenden und schaue mir später genau an wie ich das mit einem Thread lösen kann.