Avatar billede maze- Nybegynder
08. maj 2007 - 11:13 Der er 3 kommentarer og
1 løsning

Update af gui

Hej ekspeter.

Jeg er ved at lave et lille program, hvor jeg har en klient, en server, en database, som snakker sammen via Remoting. Alt dette virker umildbart godt.

Mit problem ligger i at når jeg f.eks. trykker på en knap over i GUI'en, så laver jeg et kald i databasen. Hvorefter jeg skal opdatere en række ting i GUI'en. Der er en række Checkbox der skal resettes, samt nogel textbox der skal clears. Jeg har også nogle tabs der skal opdateres.

Når jeg gør dette kommer der enten en fejl med hensyn til cross-threading, og andre gange fryser programmet bare.

Jeg har så fundet en lille løsning vha.
http://msdn2.microsoft.com/en-us/library/ms171728.aspx
Men dette kan jeg kun få til at virke for enkelte funktioner, vis jeg nu skal kalde 5-6 forskellige ting, kan det så passe jeg skal have 5-6 forskellige backgroundworkers og alle de tjeks?

Er der ikke en simpler metode til at lave en nemmere måde at løse dette på?
Avatar billede bennytordrup Nybegynder
08. maj 2007 - 11:37 #1
Ud fra linket at dømme, tror jeg, at du bruger .NET 2.0

Prøv at kigge på den løsning, Matt Dotson bruger her. Den er faktisk ret genial. Jeg har selv brugt den i forbindelse med et form hierarki, hvor SynchronizationContext er lavet som en protected property på grundformen.

http://blogs.msdn.com/mattdotson/archive/2006/02/13/531315.aspx

Den løsning har også løst et par cross-threading problemer, der opstod under portering af kørende kode fra 1.1 til 2.0.
Avatar billede bennytordrup Nybegynder
08. maj 2007 - 11:39 #2
Ideen er, at du via en SynchronizationContext oprettet på formen i constructoren kan få noget kode til at køre på UI tråden via et anonymous delegate.
Avatar billede maze- Nybegynder
09. maj 2007 - 17:00 #3
Hej Benny

Ja det virkede såmen, mange tak for svaret, lav et reply og du får pointene.
Avatar billede maze- Nybegynder
09. maj 2007 - 17:01 #4
Havde ikke set det første var et svar, hovsa, men du fik pointene. Tak.

Tråeden er lukker! =)
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