AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Thread und ProgressBar

Ein Thema von Helmi · begonnen am 21. Okt 2009 · letzter Beitrag vom 21. Okt 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 18:58
Hallo,

ich habe ein Programm mit einem Thread.

In diesem Thread werden im Execute 5 Proceduren aufgerufen, abhängig ob jeweils eine Variable aktiv ist oder nicht.
Nach jeder Procedure wird eine Procedure mit Synchronize aufgerufen, die dann im Hauptthread eine ProgressBar-Position
ändert.

Beim Debuggen fällt mir auf, dass nach jeder Procedure der Code für die ProgressBar-Positions-Änderung aufgerufen wird.
Die ProgressBar ändert aber erst die Position wenn der Thread nicht mehr läuft.

Hätte jemand eine Idee, was das Problem sein könnte?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:03
Zitat von Helmi:
Hätte jemand eine Idee, was das Problem sein könnte?
Dass du uns keinen Code zeigst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:10
hier mal das projekt
Angehängte Dateien
Dateityp: rar nc-upgrade-reader_665.rar (28,4 KB, 24x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:19
Windows Vista/Seven?

Da ändert sich die ProgressBar nicht sofort, sondern paßt sich stetig an (liegt an Windows)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:25
Zitat von Helmi:
hier mal das projekt
Ist es denn so schwer einfach den relevanten Code hier zu posten?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:26
Zitat von Luckie:
Zitat von Helmi:
hier mal das projekt
Ist es denn so schwer einfach den relevanten Code hier zu posten?
Mit nix zu frieden der Herr!!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:29
Zitat von himitsu:
Windows Vista/Seven?

Da ändert sich die ProgressBar nicht sofort, sondern paßt sich stetig an (liegt an Windows)
Ja ist Vista

Interessanterweise hab ich auch andere Projekte mit ner Progressbar die sich ständig ändert, aber in
diesen Projekte funktionierts problemlos.

Ich seh nur keinen Unterschied wieso es bei dem einem funktioniert, beim Anderen aber nicht
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:34
zurücksetzen passiert quasi sofort

Lösung:
Delphi-Quellcode:
PB.Position := i + 1;
PB.Position := i;
bzw.
Delphi-Quellcode:
PB.Position := Max(i + 1, PB.Max - 1);
PB.Position := i;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 19:45
Zitat von himitsu:
zurücksetzen passiert quasi sofort

Lösung:
Delphi-Quellcode:
PB.Position := i + 1;
PB.Position := i;
bzw.
Delphi-Quellcode:
PB.Position := Max(i + 1, PB.Max - 1);
PB.Position := i;
Was meist du mit zurücksetzen?
Hab deine Codes mal getestet, leider ändert sich nichts am Verhalten
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Tryer

Registriert seit: 16. Aug 2003
200 Beiträge
 
#10

Re: Problem mit Thread und ProgressBar

  Alt 21. Okt 2009, 20:12
Da ich nichts von {APPTYPE CONSOLE} und WriteLn - Ausgaben sehe: Hast Du den abwechselnden Aufruf beim Debuggen vielleicht mit Haltepunkten hervorgerufen? Vielleicht kommt das Formular dank zahlreicher Sync-Anfragen garnicht zum neuzeichnen. Ob die Position sich überhaupt ändert könnte vermutlich ein nachgeschaltetes ProcessMessages zeigen.

Grüsse, Dirk
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:04 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