Threads

  • Onderwerp starter Onderwerp starter BEEE
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

BEEE

Gebruiker
Lid geworden
14 mrt 2011
Berichten
62
Hallo

Het gebruik van threads is zeer handig, maar jammergenoeg lukt het (mij?) niet om bijvoorbeeld labels te veranderen d.m.v. threads omdat de label gehandeld word door een andere thread dan deze die ik bijmaakte.

Gebruik ik dus een verkeerde methode of is dat gewoon het nadeel van threads?

Ik gebruik deze code om een thread te starten/maken:
Code:
      Dim thread_zip As System.Threading.Thread
        thread_zip = New System.Threading.Thread(AddressOf gewenste_sub)
        thread_zip.Start()

Alvast bedankt!

BEEE
 
Laatst bewerkt:
Plaats deze regel vóórdat je de thread start:

CheckForIllegalCrossThreadCalls = False
 
Je kunt ook gebruik maken delegates

[CPP]Private Delegate Sub wijzigtekst()
Private Sub Doiets()
If Me.InvokeRequired Then
Me.Invoke(New wijzigtekst(AddressOf Doiets))
Else
For i = 0 to 5000

Label1.text = (i)

Next
End If
End Sub[/CPP]

[CPP]thread = New System.Threading.Thread(AddressOf Doiets)
thread.Start()
[/CPP]
 
Dus dan laat je eigenlijk de sub 'wijzigtekst' de sub 'doiets' aanroepen via de oorspronkelijke thread?
 
Laatst bewerkt door een moderator:
Delegates heb ik nooit begrepen. Het ziet er op het eerste gezicht een stuk ingewikkelder uit dan een gewone thread declaratie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan