Avatar billede teutebod Nybegynder
03. august 2004 - 17:01 Der er 2 kommentarer

Problem med Winform Timer der startes fra en anden tråd

Jeg har lavet en winform control, som benytter sig af en System.Windows.Forms.Timer til at animere et vindue.
Det virker også fint fra en helt normal winform der bare har en button, som kalder dens start metode.

Men ideen var egentligt, at denne "animations-vindue" skulle aktiveres over netværk. Så jeg har bla. lavet en async listener socket ud fra eksemplerne på msdn (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconnon-blockingserversocketexample.asp).

Fra metoden "ReadCallback" hvor alt dataen er modtaget, kalder jeg så min metode der skulle starte dette "animations-vindue". Men af en eller anden grund som jeg ikke kan regne ud, så "affyres" timerens tick-events aldrig efter dette. Selvom timeren efterfølgende står som enabled, og har den rigtige interval-tid når jeg pauser og kigger i debuggeren.

Er det muligt at den tråd som timeren benytter bliver blokeret på en eller anden måde, eller den bliver lukket ned når tråden der kaldte den dør?

Jeg starter Listener-serveren i en seperat tråd, i stedet for i en main metode som msdn eksemplet viser. Af hvad jeg har forstået så spawner listener-serveren så nogle threadpool tråde som en del af de asynkrone kald. Når jeg beder min timer om at starte må jeg vel være inde i en af disse threadpool tråde.

Jeg håber at det jeg skriver er forklaret så det kan forstås, ellers skriv lige hvis der er noget jeg skal forklare mere.
Avatar billede teutebod Nybegynder
03. august 2004 - 21:41 #1
Uden helt at have forstået hvad problemet var, hjalp det da jeg skiftede min timer til en System.Threading.Timer i stedet. Hvis der er en der kan forklare mig det, er de 100 point stadig til rådighed :)
Avatar billede lifo Nybegynder
03. august 2004 - 23:33 #2
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