Visual Basic 2010 Express で DLL をビルドしました。VB 4.0 フレームワーク上に構築されています。ビルド後、管理者コマンド プロンプトで実行しました。
C:\windows\...v4.0.30319\RegAsm C:\...\bin\release\ClassLibrary1.dll
COM 可視チェック ボックスは既にオンになっています。しかし、私の他のプログラムは、タイトルに記載されているエラーメッセージで接続できません。
クラス ライブラリには 1 つのクラスしか含まれていません。SMSCOMMS.vb にあります。
Imports System
Imports System.Threading
Imports System.ComponentModel
Imports System.IO.Ports
Public Class SMSCOMMS
Private WithEvents SMSPort As SerialPort
Private SMSThread As Thread
Private ReadThread As Thread
Shared _ReadPort As Boolean = False
Public Event Sending(ByVal Done As Boolean)
Public Event DataReceived(ByVal Message As String)
Public Sub New()
End Sub
Public Sub initPort(ByVal COMMPORT As String)
SMSPort = New SerialPort
With SMSPort
.PortName = COMMPORT
.BaudRate = 19200
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
.Handshake = Handshake.RequestToSend
.DtrEnable = True
.RtsEnable = True
.NewLine = vbCrLf
End With
End Sub
Public Function testFunction() As Integer
Return 1
End Function
Public Function SendSMS(ByVal receiver As String, ByVal message As String) As Boolean
If SMSPort.IsOpen = True Then
'sending AT commands
SMSPort.WriteLine("AT+CMGF=1" & Chr(13)) 'set command message format to text mode(1)
'SMSPort.WriteLine("AT+CSCA=+639170000130" & Chr(13)) 'set service center address (which varies for service providers (idea, airtel))
SMSPort.WriteLine("AT+CMGS=" & Chr(34) & receiver & Chr(34) & Chr(13)) ' enter the mobile number whom you want to send the SMS
SMSPort.WriteLine(message & Chr(26)) 'SMS sending
SMSPort.Close()
Return True
End If
Return False
End Function
Public Sub Open()
If Not (SMSPort.IsOpen = True) Then
SMSPort.Open()
End If
End Sub
Public Sub Close()
If SMSPort.IsOpen = True Then
SMSPort.Close()
End If
End Sub
End Class