Avatar billede Mads Larsen Nybegynder
04. april 2011 - 11:07 Der er 2 kommentarer og
1 løsning

Threading og invoke

Jeg har været ved at teste lidt med threads og BeginInvoke

Den måde jeg indtil videre har brugt, når jeg skal bruge en control

Så har det været sådan her:

Delegate Sub Progress()

    Private Sub AddValueProgressBar()
        If Not ProgressBar1.Maximum = ProgressBar1.Value + 1 Then
            ProgressBar1.Value += 1
        End If
    End Sub

Og så inde i den ny oprettede thread
ProgressBar1.BeginInvoke(New Progress(AddressOf AddValueProgressBar))

Det virker også fint indtil videre.
Mit spørgsmål er så om det er en lang og træls måde jeg er igang med, da det vil kræve jeg har en ekstra sub til hvergang jeg skal bruge en control. Er der en nemmere måde?
Avatar billede arne_v Ekspert
10. april 2011 - 03:00 #1
Du burde kunne skrive:

ProgressBar1.BeginInvoke(DirectCast(Sub()
      If Not ProgressBar1.Maximum = ProgressBar1.Value + 1 Then
            ProgressBar1.Value += 1
      End If
End Sub, Action))
Avatar billede Mads Larsen Nybegynder
11. april 2011 - 08:23 #2
Det virker perfekt :-)

Det er ihver fald en noget nemmere måde.

Smider du et svar?
Avatar billede arne_v Ekspert
11. april 2011 - 15:09 #3
svar
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