Avatar billede the_party_dog Nybegynder
20. april 2005 - 12:51 Der er 10 kommentarer og
2 løsninger

Timers og threads

Jeg har en timer på en form, som ved hvert tick disabler sig selv, starter en tråd op som bearbejder en masse ting. Når den er færdig med at bearbejde, prøver jeg på at enable timeren igen, og dræbe tråden.

Dette jeg desværre ikke få til at virke. Access modifieren på timeren er sat til public, for at være sikker på min anden tråd kan ændre på dens indstillinger.

Nogen ideer?
Avatar billede the_party_dog Nybegynder
20. april 2005 - 12:53 #1
Det skal siges at dette "stunt" har virkeret, da jeg kun kørte med en tråd til det hele, men vil gerne have at formen "svarer" mens den arbejder, så brugeren ikke får følelsen af at programmet hænger?
Avatar billede burningice Nybegynder
20. april 2005 - 18:39 #2
det er lidt sparsomt at sige du ikke kan få det til at virke.

Kommer der nogen fejl, eller hvad sker der siden det ikke virker?
Avatar billede the_party_dog Nybegynder
21. april 2005 - 09:11 #3
Hehe... Det virker bare ikke :)

I debug har jeg sat breakpoints op når timeren laver sit tick, og det virker også første gang. Men timeren kommer aldrig til at lave et tick nr 2 af sig selv. Det er som om at arbejdstråden ikke får enablet/startet timeren op igen...

Hvis jeg udkommentere tråd delen, og bare sætte et normalt funktions kald ind, så r virker timeren, og ticker på livet løs...
Avatar billede steinmann Nybegynder
21. april 2005 - 16:47 #4
Du kan jo smide det ind i et

try
{
// Din kode som du har den,
// dog uden dit timer-tick-enabling-kode
}
cacth
{
// Ingenting
}
finally
{
// dit timer-tick-enabling-kode
}

Casper
Avatar billede burningice Nybegynder
26. april 2005 - 08:51 #5
har du prøvet at sætte breakpoint der hvor at din tråd2 skal enable timeren igen?
Avatar billede the_party_dog Nybegynder
26. april 2005 - 09:01 #6
Cyber> ja, og jeg har prøvet at kigget på værdien af enable på timeren imens, og den bliver korrekt sat enable, men der kommer aldrig et tick efter det.
Avatar billede steinmann Nybegynder
26. april 2005 - 13:05 #7
timer1.Start();
Avatar billede the_party_dog Nybegynder
26. april 2005 - 14:27 #8
Steinmann > Det har jeg også prøvet, uden noget positivt resultat.
Avatar billede the_party_dog Nybegynder
27. april 2005 - 11:17 #9
Steinmann> Fik endelig tid til at prøve det med try catch lidt bedre igennem, og nu virker det... Mange tak... Har du nogen forklaring på hvorfor jeg ikke kan enable den fra den anden tråd?

Smid et svar...
Avatar billede the_party_dog Nybegynder
10. september 2005 - 13:28 #10
Vil nogen smide et svar?
Avatar billede burningice Nybegynder
20. september 2005 - 16:40 #11
Jeg vil gå ud fra at det er problemer med at at snakke på tværs af dine tråde, selvom det dog som oftest kun plejer at være i forbindelse med GUI-opdatering.
Avatar billede steinmann Nybegynder
20. september 2005 - 17:26 #12
Svar :)

sorry, har været væk!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester