Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
09. juni 2006 - 08:28#1
Når du har dit program, kører det i en tråd. Her kan du have en masse events i, fx et event der opfanger når du trykker på en knap. En event er bare en funktion der er bundet til den knap når den bliver trykket på. Hvis vi nu siger du vil lave en fil-søgnings funktion, det siger sig selv at denne vil optage en hel den cpu resoucer, og da den funktion er nød til at køre i et loop (while fx) vil alt andet end den funktion ikke virke i dit program før den funktion slutter. Dvs at prøver du at klikke på en knap eller andet i dit program, vil det sige (svarer ikke). Derfor kan du så køre den søge funktion i en seperart tråd der kører i dit program, på den måde kan du bruge din form imens den arbejder, da main tråden ikke bliver blokket. Delegates bruger man så til at flere tråde kan snakke sammen. Fx hvis du har den søgetråd, og du vil sætte det den finder i et listview. så skal man lave en delegate og invoke på det listview, ellers vil den komme og sige en cross-threading fejl, fordi to tråde ikke direkte kan snakke sammen, og da dit litview befinder sig i din main tråd..
this.Invoke(SetOutputText, new Object[] { "Teksten der skal vises" });
det er altså denne sætning som fortæller form'en eller min main tråd hvilket delegate der skal køres? hvis ja så er mit sidste spørgsmål bare hvorfor man skriver den tekst der skal vises som en parameter i invoke metoden og ikke i sin delegate?
læg et svar i dit indlæg:)
Synes godt om
Slettet bruger
11. juni 2006 - 21:26#5
altså, Der siger du hvilken Delegate der skal køres, altså "SetOutputText", og parametrene funktionen den kører skal have.. dvs hvis du har flere er det:
this.Invoke(SetOutputText, new Object[] { "Teksten der skal vises", "Mere tekst" });
Det kører så den funktion med de parametre. Oppe hvor du declarere din delegate fortæller du kun hvilke parametre den skal bruges, så hvis du ændre det i din funktion, skal du også tilføje det deroppe..
Synes godt om
Ny brugerNybegynder
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.