27 Nisan 2015 Pazartesi

C# – Çapraz İş Parçacığı İşlemi Geçerli Değil Hatası ve Çözümü

Çapraz iş parçacığı işlemi geçerli değil:  denetimine oluşturulduğu iş parçacığı dışında başka bir iş parçacığından erişildi.

BackgroundWorker ile birden fazla thread çalıştırmak istenildiğinde bu hata alınabiliyor. Çözümü ise çok basit;

Aşağıdaki kod satırı InitializeComponent(); satırının üzerine eklenerek sorun giderilmiş oluyor.



 CheckForIllegalCrossThreadCalls = false;

Seri Porttan Hexadecimal (Hex) Değer Göndermek



using (SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8))
        {
            byte[] bytesToSend = new byte[2] { 0x5A, 0x2B };

            port.Open();
            port.Write(bytesToSend, 0, 2);
        }