Hallo
Ich habe versucht eine dll zu schrieben, welche ein beliebiges Programm über die serielle Schnittstelle mit einem Gerät Kommunizieren lässt. Wenn ich dass MSCOMM Steuerelemnt direkt auf dem Formular eines Programms einbinde Funktioniert dies ohne Probleme, wie kann ich dieses Steuerelement in eine dll einbinden??? Ich habe es so versucht:
<PRE>Namespace mhc.bs.seriell
Public Class connect
<b>Public Shared Comm1 As AxMSCommLib.AxMSComm</b>
Public Shared Sub hello(ByVal port As String)
'Open the connection and send hello to the BasicStamp
If port = "Com1" Then
Comm1.CommPort = 1
Else
If port = "Com2" Then
Comm1.CommPort = 2
Else
MsgBox("Ungültiger ComPort", MsgBoxStyle.Critical, "ACHTUNG!!!")
Exit Sub
End If
End If
Comm1.Settings = "2400,N,8,1"
Comm1.InputLen = 0
Comm1.PortOpen = True
End Sub
Public Shared Sub bye()
'send bye bye to the BasicStamp and close the connection
If Comm1.PortOpen = True Then
Comm1.PortOpen = False
End If
End Sub
End Class
End Namespace</PRE>
Der Compiler meldet hier keine Fehler mehr, wenn ich allerdings auf das Element mit einem Programm zugreifen will bekomme ich diese Fehlermeldung:
<b>Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in serielltobs.dll aufgetreten.
Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.</b>
Wo liegt hier der Fehler??? Oder muss man es von Grund auf anderst machen???
Danke im Voraus
Marco Hemmerle
Ich habe versucht eine dll zu schrieben, welche ein beliebiges Programm über die serielle Schnittstelle mit einem Gerät Kommunizieren lässt. Wenn ich dass MSCOMM Steuerelemnt direkt auf dem Formular eines Programms einbinde Funktioniert dies ohne Probleme, wie kann ich dieses Steuerelement in eine dll einbinden??? Ich habe es so versucht:
<PRE>Namespace mhc.bs.seriell
Public Class connect
<b>Public Shared Comm1 As AxMSCommLib.AxMSComm</b>
Public Shared Sub hello(ByVal port As String)
'Open the connection and send hello to the BasicStamp
If port = "Com1" Then
Comm1.CommPort = 1
Else
If port = "Com2" Then
Comm1.CommPort = 2
Else
MsgBox("Ungültiger ComPort", MsgBoxStyle.Critical, "ACHTUNG!!!")
Exit Sub
End If
End If
Comm1.Settings = "2400,N,8,1"
Comm1.InputLen = 0
Comm1.PortOpen = True
End Sub
Public Shared Sub bye()
'send bye bye to the BasicStamp and close the connection
If Comm1.PortOpen = True Then
Comm1.PortOpen = False
End If
End Sub
End Class
End Namespace</PRE>
Der Compiler meldet hier keine Fehler mehr, wenn ich allerdings auf das Element mit einem Programm zugreifen will bekomme ich diese Fehlermeldung:
<b>Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in serielltobs.dll aufgetreten.
Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.</b>
Wo liegt hier der Fehler??? Oder muss man es von Grund auf anderst machen???
Danke im Voraus
Marco Hemmerle
Comment