0

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
4

1 に答える 1