Avatar billede siz23 Nybegynder
09. december 2006 - 21:26 Der er 5 kommentarer

events og thread problem.

jeg har et lille problem.
Jeg har en klasse, som laver nogle threads, som så fyre nogle events af, mit problem er når jeg så bruger de argumenter jeg har puttet med i evented, for jeg en cross-threading error. Jeg kan håndtere den i min main thread, men ville enlig helst have at jeg bare kunne bruge eventet som normalt.

håber i forstår hvad jeg mener, ellers skal jeg nok ligge et e.eks med, har bare ikke lige løst til at lave et nu, og at paste min nuværrende problem vil ikke gavne meget tror jeg :)
Avatar billede alex_sleiborg Nybegynder
11. december 2006 - 09:37 #1
Du skal vel bare bruge delegates
Avatar billede the-gnu.dk Nybegynder
11. december 2006 - 11:14 #2
Har du lavet en Invoke(); på den tråd du bruger argumenterne på?

if(control.InvokeRequired) {
    control.Invoke(new Dit-delegat(Metode), new object[]{ argument1, argument2 });
}
else {
}
Avatar billede alex_sleiborg Nybegynder
11. december 2006 - 11:44 #3
public delegate void SetClientsconnTextDelegate(string atext);
        public void DoSetClientconnText(string aText)
        {
            if (this.InvokeRequired)
                this.Invoke(new SetClientsconnTextDelegate(this.DoSetClientconnText), new object[] { aText });

            else
                this.lbl_Clientsconn.Text = aText;
        }

Her er et gammelt eksempel jeg brugte engang, til at hive noget udfra en Thread hvor jeg brugte en tcp listener
Avatar billede siz23 Nybegynder
11. december 2006 - 17:03 #4
synes godt nok jeg har prøvet det, men for det lige testet af når jeg kommer hjem. Ellers laver jeg lige et eksemple.
Avatar billede siz23 Nybegynder
12. december 2006 - 21:18 #5
ikke helt hvad jeg kigger efter, jeg vil faktisk sync'e med min main thread, før jeg fyre envent'ed af, så jeg i main thread ikke behøver tænke på om eventet bliver fyret af fra en thread eller ej.

kan godt bruge de i har skrevet, men vil irretere mig grusomt at jeg ikke kan bruge event'e, som alle de andre events jeg har (alså uden a sync'e før jeg bruger argumenterne)
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Test Manager

Jyske Bank

Cloud Engineer

Metroselskabet og Hovedstadens Letbane

Applikationsansvarlig medarbejder med udvikler-kompetencer