At vende tilbage til hovedtråden!
Jeg sidder og arbejder på at lave en klasse med noget generel funktionalitet, som skal genbruges i flere applikationer. I denne forbindelse kalder jeg en metode asynkront, og når den er færdig med at eksekvere, skal jeg raise en event, som brugeren af klassen kan benytte sig af. Men jeg støder ind i et problem undervejs:Forløbet er således:
1. Jeg befinder mig på hovedtråden og kalder min metode asynkront (BeginXXX).
2. Min callback sub bliver kaldt og jeg kalder EndXXX. Jeg befinder mig nu på en NY tråd.
3. Jeg raiser en event med nogle bestemte parametre (returnerer resultater fra udregninger i metoden som kaldtes asynkront)
4. Brugeren af klassen har en event handler sub til denne event, og skal bl.a. opdatere brugerfladen på programmet.
5. -- PROBLEM! -- Brugeren arbejder nu også (uvidende) på den nye tråd, og vedkommende får en fejl, hvis der forsøges at refereres til kontroller på formen, som jo kører på hovedtråden.
Hvordan kan jeg undgå dette?
Mikkel