AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JCLCompression wann ist extraction fertig?

Ein Thema von stOrM · begonnen am 29. Jan 2009 · letzter Beitrag vom 29. Jan 2009
Antwort Antwort
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#1

JCLCompression wann ist extraction fertig?

  Alt 29. Jan 2009, 09:30
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?

Viele Grüße
s!
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#2

Re: JCLCompression wann ist extraction fertig?

  Alt 29. Jan 2009, 09:37
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:
  with ProgressBar1 do
  if Position = Max then
  begin
    Position := Max-1;
    Position := Max;
  end;
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.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: JCLCompression wann ist extraction fertig?

  Alt 29. Jan 2009, 09:50
Zitat von Assertor:
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:
  with ProgressBar1 do
  if Position = Max then
  begin
    Position := Max-1;
    Position := Max;
  end;
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.

Gruß Assertor
Voll ins schwarze getroffen!
Vielen dank!!!

Gruß
s!
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: JCLCompression wann ist extraction fertig?

  Alt 29. Jan 2009, 16:52
Hi storm,

Zitat von stOrM:
Voll ins schwarze getroffen!
Vielen dank!!!

Gruß
s!
Bitte gern



Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz