[ shonev @ 09.02.2005. 14:08 ] @
Hteo bih da koristim progressbar-ove na formama Kako to da uradim pomocu Thread-ova?!?! |
[ shonev @ 09.02.2005. 14:08 ] @
[ vlaiv @ 10.02.2005. 11:12 ] @
Nisam bas siguran da sam shvatio pitanje ali da pokusam da odgovorim:
Pretpostavka je sledeca: Postoji negde broj odnosno procenat koji zelis da bude prikazan na nekom progress baru a uz to zelis i da aplikacija normalno funkcionise odnosno da se ne zamrzava ... Mislim da postoji i jednostavnije resenje od uvodjenja thread-a (npr sa timer-om) ali da odgovorim na pitanje koliko mogu. Kreiras thread objekt kada zelis da pocnes pracenje procesa. unutar execute metode pozivas 2 funkcije "umotane" u Synchronize: Code: while(!Terminated){ Synchronize(GetProgressValue); Synchronize(UpdateProgressBar); Sleep(250); //recimo 4 puta u sekundi, nisam siguran da li Sleep ili SleepEx (pogledaj help) } //onda napises implementaciju te 2 funkcije void __fastcall TMyThread::GetProgressValue(){ fProgressValue = Form1->GetProgress(); //fProgressValue je private promenljiva za klasu TMyThread } void __fastcall TMyThread::UpdateProgressBar(){ ProgressForm->ProgressBar->Position = fProgressValue; } Recimo tako nekako ... Ako ti treba nesto preciznije reci ... E, da i zgodno bi bilo da u konstruktoru stavis FreeOnTerminate na true ... [ shonev @ 31.03.2005. 12:12 ] @
Problem resen, a sve sam nasao u helpu
Borland C++ Builder Inace koristio sam za pracenje rada sql upita sa bazom. Sve radi! Pozdrav Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|