Avatar billede dna Nybegynder
14. april 2005 - 15:02 Der er 8 kommentarer og
1 løsning

Remoting / GUI

Hejsa alle!

Jeg har et lille problem i et distribueret miljø, hvor jeg har applikationerne A og B

Jeg prøver at kalde således..

A kalder en metode på B, som så igen kalder en metode på A, som skal opdatere A´s GUI.

GUI´en på A hænger bare og programmet crasher! Jeg har prøvet at gøre det via Invoke på den label jeg ønsker at opdatere... Nogen gode foreslag fra jer derude?

------------------------------------
Har prøvet dette:

Public Delegate Sub DelegateUpdateLabel(ByVal txt As String)

Public Sub UpdateGUI(ByVal txt As String)
    lblLastSync.Invoke(New DelegateUpdateLabel(AddressOf UpdateSync), New Object() {txt})
End Sub

Public Sub UpdateSync(ByVal txt As String)
    Me.lblLastSync.Text = txt
End Sub
------------------------------------

dna
Avatar billede burningice Nybegynder
14. april 2005 - 15:08 #1
du bruger remoting, eller hvad?
Avatar billede dna Nybegynder
14. april 2005 - 15:27 #2
cyberfessor: Jeps... (Troede det var nok at skrive i overskriften!)

dna
Avatar billede burningice Nybegynder
14. april 2005 - 15:55 #3
jojo... det er det skam også... jeg undrede mig bare over hvorfor du har brug for delegates

Hvis du har 2 interfaces, et for Program A og et for Program B burde A kunne kalde metoder i B og omvendt uden de store problemer.
Avatar billede dna Nybegynder
14. april 2005 - 19:04 #4
Det er bestemt heller ikke noget problem at kalde metoderne. Det er bare hvis jeg laver noget GUI opdatering. (Altså kalder min Notify-metode i mit observer-pattern) - så hænger programmet.

At lave det via Invoke på den kontrol der skal opdateres har tidligere været en løsning for mig, men det virker af en eller anden grund ikke her.

dna
Avatar billede dna Nybegynder
15. april 2005 - 09:20 #5
Ingen eksperter i dag... :=)

dna
Avatar billede burningice Nybegynder
15. april 2005 - 09:29 #6
hvad gør at det ikke virker? hvis du har en reference til din form fra RemoteObjectet burde du kunne kalde invoke på en metode i din form.
Avatar billede dna Nybegynder
15. april 2005 - 10:22 #7
Altså.. nu har jeg vist selv fået det løst... Har lavet mit kald fra A til B i en ny tråd, således at IU tråden ikke står blokeret imens den venter på svar fra serveren.

Her er en lille artikel som fik mig på rette sport: http://www.thinktecture.com/Resources/RemotingFAQ/HANDLING_EVENTS_HANGS_APPLICATION.html - hvis nogen skulle falde over samme situation.

dna
Avatar billede dna Nybegynder
15. april 2005 - 10:23 #8
Jeg skal vel selv bare tage point?

dna
Avatar billede burningice Nybegynder
15. april 2005 - 10:49 #9
det gør du bare :) så fik jeg da også lært noget i dag
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
Kurser inden for grundlæggende programmering

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