System.NullReferenceException - nie mogę znaleźć błędu.

0

Posiłkując się tutorialem piszę program który ma na celu odbiór danych wysyłanych przez Arduino.
W linii

 if(!this->_serialPort->IsOpen){ 

dochodzi do błędu System.NullReferenceException, i wyświetlenia komunikatu " Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu."

Siedzę, patrzę i już nie wiem. Poratuje ktoś ?

 this->textBox1->Text=String::Empty;

			 if(this->comboBox1->Text==String::Empty||this->comboBox2->Text==String::Empty)
				 this->textBox1->Text="Proszę wybrać ustawienia portu COM";
			 else{
				 try{
					 if(!this->_serialPort->IsOpen){
						 this->_serialPort->PortName=this->comboBox1->Text;
						 this->_serialPort->BaudRate=Int32::Parse(this->comboBox2->Text);
						 this->_serialPort->Open();
						 this->StanPortu->Value=100;
						 this->textBox1->Text=this->_serialPort->ReadLine();
					 }
					 else
						 this->textBox1->Text="Port nie otwarty";
				 }
				 catch(UnauthorizedAccessException^){
						this->textBox1->Text="UnauthorizedAccess";
					}
				 } 
0

Czego nie rozumiesz? Dostajesz taki blad bo _serialPort jest nullem.

0

Uzupełniłem program

 void InitializeComponent(void)
		{
			
	this->_serialPort->PortName = L"COM5";
			this->_serialPort->ReadTimeout = 500;
			this->_serialPort->WriteTimeout = 500;

Lecz nadal dostaję ten sam błąd.

Klasy SerialPort używam poraz pierwszy i trochę po omacku w temacie się poruszam.

0

Wciąż nie utworzyłeś instancji tej klasy.

0

Jeśli chodzi o to, to było wcześniej już utworzone

private: System::IO::Ports::SerialPort^   _serialPort; 
0

Wiesz w ogóle, co to jest instancja?

0

Wiem, wiem, strasznego zaciemnienia dostałem. Już działa.
Temat jako nic nie wnoszący to chyba do usunięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1