Avatar billede jtofte Nybegynder
15. august 2006 - 19:21 Der er 3 kommentarer

Kald fra Tråd

I min hovedklasse opretter jeg nogle objecter og sætter et event på  objectet som er en funktion i hovedklassen, jeg smider objectet i en tråd.

Lige når jeg har smidt objectet i tråden lægger jeg objectet til at sove, og når den vågner op kalder den eventet, i eventet kalder jeg noget kode som bl.a. sletter det objectet og lukker tråder, meningen var så at den skulle opdaterer et views jeg har, men den kommer op med en fejl at den ikke kan kalde funktioner i en anden tråd.

Her er koden hvor jeg opretter objectet og lægger den i en tråd
AlarmNode an = new AlarmNode(ttekst.Text, Convert.ToInt32(ttid.Text), Tal.getNewId());
an.alarm += new EventHandler(Alarm);
an.alarm += new EventHandler(SetupGrid);
arr.Add(an);
Thread tr = new Thread(new ThreadStart(an.Start));
       
tr.Start();
Trade.Add(an.id, tr);

Her har jeg sat opdateringen som et event, men det skulle ikke gøre det store
Avatar billede wisen Nybegynder
16. august 2006 - 08:47 #1
Den er go' nok - man må ikke "rode" med en grafisk komponent fra en anden tråd end den tråd der ejer komponentens handle.

Prøv at kigge på Control.InvokeRequired og Control.Invoke
Avatar billede wisen Nybegynder
16. august 2006 - 08:48 #2
Avatar billede jtofte Nybegynder
16. august 2006 - 19:39 #3
Det ser ud til at virke nu, tak for hjælper, smid lige et svar
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