Hallo zusammen
Da ich in meinem aktuellen Projekt sehr viel Code schreiben muss, habe ich einen Teil in ein Modul ausgelagert. In diesem Modul greife ich auf den Serialport der Hauptform zu. Das
Wenn Daten gesendet werden sollen, kommt die Meldung, dass der Port nicht offen sei. Ich bin mir ganz sicher, dass ich den Port nicht schliesse. Ich hatte noch nie Probleme mit dem Serialport. Allerdings hatte ich auch noch nie ein Modul verwendet. Darum schliesse ich darauf, dass dies der Grund sein könnte.
So Initialisiere ich den Port:
Was muss ich anders machen, um den Port auch im Modul zu verwenden? Ist ein Modul grundsätzlich gut, oder soll ich da was anderes nehmen?
Freue mich über Tipps.
Da ich in meinem aktuellen Projekt sehr viel Code schreiben muss, habe ich einen Teil in ein Modul ausgelagert. In diesem Modul greife ich auf den Serialport der Hauptform zu. Das
SerialPort1_DataReceived
wird in der Main Form aufgerufen. Das Form1.SerialPort1.Write(messageBufferOut, 0, paketSize)
wird im Modul aufgerufen.Wenn Daten gesendet werden sollen, kommt die Meldung, dass der Port nicht offen sei. Ich bin mir ganz sicher, dass ich den Port nicht schliesse. Ich hatte noch nie Probleme mit dem Serialport. Allerdings hatte ich auch noch nie ein Modul verwendet. Darum schliesse ich darauf, dass dies der Grund sein könnte.
So Initialisiere ich den Port:
VB.NET-Quellcode
- Private Sub cbxPort_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxPort.SelectedIndexChanged
- 'Port Schliessen falls er offen ist
- If SerialPort1.IsOpen Then
- SerialPort1.Close()
- End If
- 'Port benennen und öffnen
- Try
- SerialPort1.PortName = cbxPort.SelectedItem
- SerialPort1.Open()
- Catch ex As Exception
- MessageBox.Show(ex.Message, "Serial Port", MessageBoxButtons.OK, MessageBoxIcon.Error)
- End Try
- End Sub
Was muss ich anders machen, um den Port auch im Modul zu verwenden? Ist ein Modul grundsätzlich gut, oder soll ich da was anderes nehmen?
Freue mich über Tipps.