Marshals data to the UI thread.
This example demonstrates execution of a looping Read on a worker thread, and marshaling the data to the UI.
private void button1_Click(object sender, EventArgs e)
{
myComponent.Start(readLoopWorker, null);
}
private void readLoopWorker(object state)
{
byte[] buffer = new byte[1024];
Data data = myComponent.Read(buffer);
while (data != null)
{
myComponent.Marshal(data, "", null);
data = myComponent.Read(buffer);
}
myComponent.Close();
}
void myComponent_Data(object sender, Dart.Sockets.DataEventArgs e)
{
textBox1.AppendText(e.Data.ToString());
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
myComponent.Start(AddressOf readLoopWorker, Nothing)
End Sub
Private Sub readLoopWorker(ByVal state As Object)
Dim buffer(1023) As Byte
Dim data As Data = myComponent.Read(buffer)
Do While data IsNot Nothing
myComponent.Marshal(data, "", Nothing)
data = myComponent.Read(buffer)
Loop
myComponent.Close()
End Sub
Private Sub myComponent_Data(ByVal sender As Object, ByVal e As Dart.Sockets.DataEventArgs)
textBox1.AppendText(e.Data.ToString())
End Sub