Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Vel det vil desverre ikke virke. :ermm:

Problemet er at når en tråd står å "tygger" på en alogrite så vil den ikke merke at timer sender en event før etter den er ferdig, og det er under denne tiden jeg vil at en progressbar skal stå og gå slik at brukeren ikke tror programmet har hengt seg.

 

Spørsmålet er om jeg kan får en tråd til å kjøre en refresh eller en repaint, uten at denne blir synket til hovedtråden, eller om jeg kan lage en ny form som har sin egen tråd?

 

 

.:martin

Lenke til kommentar

Skal du ha progressbar, må du sende progressinfo til progressbaren, altså avbryte algoritmen av og til for å sette ProgressBar.Position:=... og Application.ProcessMessages for å trigge at formen blir tegnet på nytt.

 

Hvis jeg har mange steg (10000) i algoritmen, pleier jeg å sette det slik at oppdatering av progressbaren skjer ca. 100 ganger i løpet av hele prosessen, fordi det tar tid og ressurser, og forskjell på 1/10 pixel ikke er synlig.

 

Hvis du ikke kan avbryte, eller hvis du ikke vet når algoritmen kommer til å bli ferdig, kan du lage en form med TAnimate og vise den med vanlig Show før du starter med prosessen. Dette fungerer veldig bra selv om jeg foretrekker å vise ekte framskritt, altså hvor mye som står igjen.

Lenke til kommentar

Jo er helt enig at det hadde vært best å bryte den opp slik at jeg kan kalle prosessMessage. Men det er selfølgelig ikke tilfelle når man virkelig har bruk for det eller hva :cry:

 

Prosedyren ligger i en dcu fil, som jeg ikke har tilgang til.

 

Jeg prøvde det du sa med å lage en ny form med en TAnimate. Men den frøs hos meg! (altså den blei ikke oppdatert så lenge hovedtråden var opptat)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...