Lazarus BGRAFlashProgressBar nie pokazuje wyników tylko przeskakuje do samego końca ?: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
(Utworzył nową stronę „Załóżmy że mamy taki kod którego celem jest symulowanie flash progress bara: <pre> var i:integer; begin BGRAFlashProgressBar1.maxvalue:=768*512; for i := 0 to 768...”) |
|||
Linia 35: | Linia 35: | ||
end; | end; | ||
</pre> | </pre> | ||
[[Category:Delphi]] |
Aktualna wersja na dzień 17:36, 22 wrz 2012
Załóżmy że mamy taki kod którego celem jest symulowanie flash progress bara:
var i:integer; begin BGRAFlashProgressBar1.maxvalue:=768*512; for i := 0 to 768*512 do begin BGRAFlashProgressBar1.value := i; end; end;
Jeżeli go wykonamy, to aplikacja "zawiśnie" na chwilkę po czym pokaże proress bar na samym końcu...
Spowodowane to jest tym że pętla nie czeka na wyśweitlenie rezultatu, tylko wykonuje się błyskawicznie.
Aby temu zaradzić należy dodać polecenie
Application.ProcessMessages;
Poprawny kod
var i:integer; begin BGRAFlashProgressBar1.maxvalue:=768*512; for i := 0 to 768*512 do begin BGRAFlashProgressBar1.value := i; Application.ProcessMessages; end; end;