Halloj.. använd nät annat än MethodInvoker...Skicka en parameter mellan trådar
Kan någon försöka ge mig lite klarhet i följande:
Jag har en Form, frmMain (ja mr Hillqvist Hungarian Notation är ute, men jag GILLAR det).
Den startar en klass som heter cls_reader som läser in ganska maffiga Excelfiler, trollar med värdena och lagrar dem i en databas. Klassen startas i en ny tråd eftersom det tar sin lilla tid att läsa filerna och för att kunna få användaren att inte falla i gråt så tänkte jag uppdatera en label med hur många rader som lästs in. Men jag får det inte att funka alls.
Jag har gjort som såhär:
<b>I klassen:</b>
<code>
Public Event LineRead(ByVal ln As Integer)
</code>
och sen efter varje rad som läses så kör jag en
<code>
RaiseEvent LineRead(x)
</code>
<b>I frmMain</b>
<code>
AddHandler SelfbillReader.LineRead, AddressOf UpdLines
</code>
och sen då subben
<code>
Private Sub UpdLines(ByVal ln As Integer)
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf UpdLines))
Else
me.lblLinesRead.Text = ln
End If
End Sub
</code>
Men det där vill sig ju inte eftersom det inte är samma signatur i UpdLines och UpdLines(ByVal ln as Integer) och UpdLines och AddressOf stödjer ju inte att man knuffar med parametrar.
Vad göra???Sv: Skicka en parameter mellan trådar
Method(Of T) kanske kan vara nåt...