que tienen un módulo de poco con un evento para el puerto serie Sygnałoperación de la Cruz-hilo no válida (Cómo tener acceso a elementos de WinForm de otros eventos del módulo?)
serialPort.DataReceived.AddHandler(SerialDataReceivedEventHandler(DataReceived));
donde DataReceived es
let DataReceived a b =
rxstring <- serialPort.ReadExisting()
arrayRead <- System.Text.Encoding.UTF8.GetBytes(rxstring)
if arrayRead.[0] = 0x0Auy then
ProcessData(a, null)
y ProcessData está invocando WinForms método
let ProcessData(a, b) =
dataProcessor.Invoke(a, b) |> ignore
que es
private void ProcessData(object sender, EventArgs e) {
byte[] m = Core.ncon.ArrayRead;
switch (m[1]) {
case 0x01: {
if (m.Length > 5) {
int myval = BitConverter.ToInt32(m, 3);
textBox1.Text += " val: " + myval.ToString() + " ";
pero cuando se está tratando de acceder textBox1 que estoy recibiendo:
operación de la Cruz-hilo no válido: Control 'textBox1' se accede desde un subproceso distinto del subproceso que se creó el.
Entonces, la pregunta es ¿Cómo acceder a los elementos de WinForm desde otros eventos del módulo?
Quizás MethodInvoker? – Zenwalker