AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit ProgressBar / Label

Ein Thema von changlee · begonnen am 6. Dez 2004 · letzter Beitrag vom 6. Dez 2004
Antwort Antwort
changlee
(Gast)

n/a Beiträge
 
#1

Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 21:49
Hallo,
ich habe ein Programm geschrieben, dass sich äußerst seltsam verhält. Ich sehe keinen Fehler im Code, dennoch treten folgende Fehler auf:

- Das Label "Action" hat niemals die Caption 'sende Datei', obwohl der Tranfer lange genug dauert.
- ProgressBar1 wird im Verlauf der Aktion irgendwann voll und beginnt dann wieder von vorn. Es scheint, als würde genau einmal zuviel "stepit" ausgeführt.


Delphi-Quellcode:
try
  ...
  ProgressBar1.Min := 0;
  ProgressBar1.Max := FileList.Items.Count-1;
  ProgressBar1.Position:=0;
  ProgressBar1.Step := 1;

  for i:=0 to (FileList.Items.Count-1) do begin
    Aktion.Caption:='sende Datei..';
    sleep(1);
    IdFTP1.Put(.. ,..);
    Aktion.Caption:='gesendet.';
    sleep(1);
    ProgressBar1.StepIt;
  end;
finally
  ...
end;
die sleeps hatte ich mal reingebaut, weil ich dachte, dass eine kleine Pause zum anzeigen helfen würde.

Weiß hier jemand eine Erklärung für dieses Phänomen?

Übrigens: ProgressBar1 und das Aktions-Label befinden sich jeweils in einer GroupBox. Bei der vom Aktions-Label ist bei manchen Programmaufrufen die Umrandung während der Aktionen nicht oder nicht vollständig zu sehen. Vielleicht ist das auch noch ein Indiz, das zur Lösung führen könnte.

mfg
changlee

(Da hätte mir der Nikolaus doch wirklich mal eine funktionierende Action.Caption in den Stiefel packen können.. )
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 21:53
Wieso schreibst du

ProgressBar1.Max := FileList.Items.Count-1; also "-1" ?
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#3

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 22:02
Hi!

Ich lasse doch die for-Schleife von "0" bis "FileList.Items.Count-1".

Ah Moment. Ich verstehe. Ließe ich sie von 0 bis null laufen, so würde auch einmal stepid aufgerufen, womit Max überschritten würde.

(Warum kann man sich die Fragen, die einem die Antwort geben eigentlich nicht selbst stellen?!..)

Danke.

Bleibt aber noch das Problem mit dem Label. Fällt dir dazu vielleicht auch eine Frage ein?

changlee
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 22:02
Vielleicht solltest du mal "Application.ProcessMessages", oder ein "Update" aufrufen, damit die neue Caption auch während deiner Verarbeitung in der Schleife gezeichnet werden kann.

MfG Pr0g
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 22:03
Ruf mal die Methoden Refresh oder Repaint auf für die Komponenten, nach dem du was geändert hast.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#6

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 22:14
Hallo!
Refresh und Repaint haben das Problem beseitigt.
Vielen Dank. Ich wusste gar nicht, dass solche Prozeduren existieren.
mfg
changlee
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Problem mit ProgressBar / Label

  Alt 6. Dez 2004, 22:16
Das sind keine Prozeduren, sondern Methoden der Komponenten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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:58 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