AGB  ·  Datenschutz  ·  Impressum  







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

Vista: Verzögerte TProgressBar?

Ein Thema von Rakshasa · begonnen am 6. Mär 2007 · letzter Beitrag vom 28. Aug 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#1

Vista: Verzögerte TProgressBar?

  Alt 6. Mär 2007, 18:42
Hallo Leute,

ich habe auf meinem System (Vista 64-Bit) und Delphi 2006 folgendes seltsames Phänomen (mal wieder..):

Wenn ich über mein Programm die normale TProgressBar anzeige, dann reagiert diese mit "Zeitverzögerung". Wenn ich also bsp. eine Schleife von 0 bis 10000 habe und ProgressBar.Position setze, dann ist die Progressbar erst bei der Hälfte, obwohl die Schleife schon durch ist, das Maximum also erreicht wurde. Es scheint fast so, als wäre die ProgressBar mit einem Timer verbunden, der alle 300-500 ms ein Update der ProgressBar durchführt und erst dann die Füllung mit dem Wert von "Position" abgleicht.

Alle Aufrufe von .ProcessMessages, .Update oder .Repaint haben nichts bewirkt...
Dieser Fehler taucht nur auf, wenn das XPManifest eingebunden ist.


Weiß jemand Rat??
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Vista: Verzögerte TProgressBar?

  Alt 7. Mär 2007, 12:13
Sowas hab ich auch bemerkt, nur schien es mir so, als wenn da nicht nur eine Verzögerung enthalten wäre, sondern Vista bei größeren Schritten einen "fließenden" Übergang schaft ... also nicht gleich der neue Wert angenommen wird, sondern die Bar langsam "rüberrutscht".

Allerdings hab ich Vista nur in 'ner VM laufen und dachte es hängt damit irgendwie zusammen.
(in der VM läuft ja alles etwas langsamer)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Vista: Verzögerte TProgressBar?

  Alt 7. Mär 2007, 20:00
Naja, könnte sein ... allerdings gibt es genug Programme, die die ProgressBar offensichtilch ohne Beeiträchtigung benutzen können. Scheint wohl ein weiteres Delphi Vista-Problem zu sein.
  Mit Zitat antworten Zitat
Assertor

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

Re: Vista: Verzögerte TProgressBar?

  Alt 7. Mär 2007, 21:16
Hallo,

das Problem ist das veränderte Verhalten der Progressbars unter Aero. Der Progressbar kümmert sich sozusagen selbst um sein Design.

Es gibt aber einen Workaround:
Der Progressbar läuft zwar verzögert Vorwärts, aber springt Rückwärts korrekt und sofort in seine neue Position.

Also am Besten:
- zuerst neue Position per Position := NewPosition + 1
- dann sofort die tatsächliche neue Position
Position := NewPosition

Gruß winkel79

Quellen:
http://news.jrsoftware.org/news/innosetup/msg62356.html
http://forums.microsoft.com/MSDN/Sho...64615&SiteID=1
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Vista: Verzögerte TProgressBar?

  Alt 7. Mär 2007, 21:21
Zitat von winkel79:
Also am Besten:
- zuerst neue Position per Position := NewPosition + 1
- dann sofort die tatsächliche neue Position
Position := NewPosition
Aaah ... das funktioniert bestens, danke!!!
  Mit Zitat antworten Zitat
TrickyMartin

Registriert seit: 18. Sep 2006
2 Beiträge
 
#6

Re: Vista: Verzögerte TProgressBar?

  Alt 15. Jul 2009, 11:39
OMG und ich such' schon ewig was *ich* da falsch mache

Vielen Dank auch von mir.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Vista: Verzögerte TProgressBar?

  Alt 15. Jul 2009, 11:45
Zitat von Assertor:
Es gibt aber einen Workaround:
Der Progressbar läuft zwar verzögert Vorwärts, aber springt Rückwärts korrekt und sofort in seine neue Position.

Also am Besten:
- zuerst neue Position per Position := NewPosition + 1
- dann sofort die tatsächliche neue Position
Position := NewPosition
Das darf doch nicht wahr sein.

Könnte das mal jemand ohne die VCL ausprobieren? Eventuell liegt der Fehler in der Kapselung der Progressbar in der VCL. Oder lässt sich das Problem auch mit anderen Frameworks nachvollziehen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Vista: Verzögerte TProgressBar?

  Alt 15. Jul 2009, 13:19
Hallo,

Kann das Problem bei mir ebenfalls feststellen und habe mich auch gewundert, woran das liegen könnte. Unter XP funktioniert alles einwandfrei, nur unter Vista halt eben nicht. Dank dem "Workaround" stimmt zwar jetzt die Anzeige, aber so richtig sauber ist das nicht, oder?

Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Dawn87

Registriert seit: 15. Feb 2007
Ort: Lüdenscheid
189 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Vista: Verzögerte TProgressBar?

  Alt 15. Jul 2009, 13:45
Ich denke das Verhalten ist beabsichtigt. Zumindest unter Delphi 2009 hat die ProgressBar die Eigenschaften "Smooth" und "SmoothReverse" die das von euch geschilderte Verhalten beeinflussen sollten.

Habe aber gerade kein Vista zur Hand um das auszuprobieren.

Grüße
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Vista: Verzögerte TProgressBar?

  Alt 15. Jul 2009, 14:09
Zitat von Luckie:
Könnte das mal jemand ohne die VCL ausprobieren?
Ja, das ist auch bei nonVCL so.
Miniaturansicht angehängter Grafiken
image1_101.jpg  
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:03 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