Hallo Community, ich möchte meine Serielle Schnittstelle beim Click auf einen Button initialisieren und öffnen und dann beim timer_click Event Daten senden. nun bekomme ich immer eine Ausnahme: der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. Kann mit das aber nicht erklären. Kann mir da bitte jemand weiterhelfen? Code ist im Anhang. Danke und Grüße
Hi planloser Gast Wo genau bekommst du die Exception? Grüße Dave
Hallo Dave, Problem gelöst. Ich muss die Variableninitialisierung des COM-Ports mit in die if(!openCOM) Schleife nehmen, sonst versucht der Rechner beim zweiten Drücken auf den OK-Button eine weitere Initialisierung und dann kommt die Exeption. Danke Dir trotzdem für die Mühe. Grüße
planloser Gast schrieb:
> if(!openCOM) Schleife nehmen, sonst versucht der Rechner beim zweiten
if ist eine Verzweigung, keine Schleife.
'tschuldigung. Hatte mich schlecht (falsch) ausgedrückt, aber schon das Richtige gemeint. Aber wo Du Recht hast, hast Du Recht. Grüße
Du legst in btnOK_Click eine neue Instanz von myPort an, deren Gültigkeitsbereich auf btnOK_Click begrenzt ist. Das globale myPort ist somit nicht instanziert und führt in timer1_Tick zu der von dir genannten Exception. Den Fehler hast du wahrscheinlich durch Zufall mit beseitigt. Außerdem werden nur Nullen gesendet, außer beim ersten mal. Mach mal aus:
1 | SerialPort myPort = new SerialPort((listBox1.SelectedItem.ToString()), 9600, Parity.None, 8, StopBits.One); |
das hier:
1 | myPort = new SerialPort((listBox1.SelectedItem.ToString()), 9600, Parity.None, 8, StopBits.One); |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.