![]() |
JCLCompression wann ist extraction fertig?
Hallo,
ich fummel gerade mit der JCLCompression Unit rum, klappt eigentlich auch alles soweit wunderbar, bis auf die Kleinigkeit: Wie stelle ich fest, wann die Datei komplett extrahiert wurde? Es gibt zwar die Methode: OnProgress womit ich meine Progressbar update, nur irgendwie ist das sehr ungenau?! Manchmal stoppt die Progressbar bei 93 % bei einer anderen Datei bei 99 wiederum ein anderes mal bei 98% jenachdem ob ich nun Zip, Rar oder 7z als Eingangsformat hab. Eine Methode in etwa wie OnExtractFinished oder sowas in der Art konnte ich leider bisher nicht entdecken, vielleicht kann mir mal jemand auf die Sprünge helfen? :gruebel: Viele Grüße s! |
Re: JCLCompression wann ist extraction fertig?
Hi,
ich vermute als System wird Vista verwendet. Liegt an dem neuen "visuellen Feedback" das Vista erzeugt. Kurz gesagt: Der ProgressBar hat 100% als Wert, aber die Anzeige läuft verzögert durch die Animation, damit es "weicher" aussieht. Der Trick ist, den ProgressBar zum Ende auf .Max zu prüfen, die Position dann auf .Max-1 und wieder auf .Max zu setzen. Durch das -1 wird der ProgressBar rückwärts bewegt - da springt Vista sofort statt zu animieren. Danach wird dieser wieder auf .Max gesetzt, damit alles stimmt.
Delphi-Quellcode:
Ich hab da mal eine gründliche Erklärung dazu im Codegear Forum gepostet. Kannst auch hier im Forum mal nach ProgressBar und meinem Nick suchen. Unter Umständen gibt es auch hier etwas dazu. Ansonsten poste ich das heute Abend.
with ProgressBar1 do
if Position = Max then begin Position := Max-1; Position := Max; end; Gruß Assertor |
Re: JCLCompression wann ist extraction fertig?
Zitat:
Vielen dank!!! Gruß s! |
Re: JCLCompression wann ist extraction fertig?
Hi storm,
Zitat:
:dp: Gruß Assertor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz