Einzelnen Beitrag anzeigen

G4schi

Registriert seit: 23. Aug 2017
17 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Progressbar läuft erst ab dem 2. Durchlauf

  Alt 5. Okt 2017, 16:27
Hallo,

ich habe ein Problem mit meiner ProgressBar.
Delphi-Quellcode:
procedure THauptfenster.btn_stringlist_einlesenClick(Sender: TObject);
var StrList1:TStringList;
    i,pb_iZaehler:Integer;
begin
    pb_einlesen.Visible := True;
    pb_einlesen.Max := length(aDaten);
    pb_iZaehler:=0;

    StrList1:=TStringList.Create;
    try
      StrList1.LoadFromFile(Path_to_Messwerte + 'messwerte.csv');
      //Dezimaltrennzeichen wird geändern
      FormatSettings.DecimalSeparator:=',';
      for i:=1 to StrList1.Count -1 do
      begin
          //Delimiter für die StrList1
          StrList1.Delimiter:=#9 ;
          StrList1.StrictDelimiter := True;
          delimited_string(StrList1[i]);

          pb_einlesen.Position := i;
          inc(pb_iZaehler);

          if pb_iZaehler = 15 then
          begin
            pb_iZaehler := 0;
            Application.ProcessMessages;
          end;
        end;
      //Dezimaltrennzeichen wird wieder zurück geändert
      FormatSettings.DecimalSeparator:='.';
    finally
      StrList1.Free;
    end;
    pb_einlesen.Visible := False;
end;
Beim Debuggen bemerke ich, dass pb_einlesen.Position keinen neuen Wert zugewiesen kriegt.
In der Grafik verändert sich auch nichts.
Sollte ich aber stoppen und wieder fortsetzen, verläuft die Wertzuweisung problemlos.
In der Grafik ist die ProgressBar schon durchlaufen, obwohl der Prozess noch andauert.


Woran kann dies liegen?

Geändert von G4schi ( 5. Okt 2017 um 16:42 Uhr)
  Mit Zitat antworten Zitat