Не получается увидеть обновление шкалы ProgressBar при загрузки аудио потока:
//TForm1.Button1Click
progress := 0;
repeat
len := BASS_StreamGetFilePosition(str, BASS_FILEPOS_END);
if (len = DW_Error) then
break; //something's gone wrong! (eg. BASS_Free called)
progress := BASS_StreamGetFilePosition(str, BASS_FILEPOS_BUFFER) * 100 div len;
ProgressBar1.Value := progress;
//Application.ProcessMessages(); //не помогает
//ProgressBar1.Repaint(); //не помогает
until
(progress > 75) or (BASS_StreamGetFilePosition(str, BASS_FILEPOS_CONNECTED) = 0); // over 75% full (or end of download)
//test
ShowMessage(IntToStr(Trunc(ProgressBar1.Value))); //75 OК!
Подскажите как правильно убрать код цикла в отдельный поток из него обновлять ProgressBar или надо по другому?
Вопрос
Ingalime
Здравствуйте.
Не получается увидеть обновление шкалы ProgressBar при загрузки аудио потока:
//TForm1.Button1Click progress := 0; repeat len := BASS_StreamGetFilePosition(str, BASS_FILEPOS_END); if (len = DW_Error) then break; //something's gone wrong! (eg. BASS_Free called) progress := BASS_StreamGetFilePosition(str, BASS_FILEPOS_BUFFER) * 100 div len; ProgressBar1.Value := progress; //Application.ProcessMessages(); //не помогает //ProgressBar1.Repaint(); //не помогает until (progress > 75) or (BASS_StreamGetFilePosition(str, BASS_FILEPOS_CONNECTED) = 0); // over 75% full (or end of download) //test ShowMessage(IntToStr(Trunc(ProgressBar1.Value))); //75 OК!
Подскажите как правильно убрать код цикла в отдельный поток из него обновлять ProgressBar или надо по другому?
Спасибо.
Изменено пользователем IngalimeСсылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.