eMbedded Visual Basic 3.0のComm Control 3.0 を使いバイナリの
送受信プログラムを作成しようと思い、テストプログラムを作って
いるのですが、いきなり詰まってしまいました。
Byte型の配列にデータをセットして、Outputメソッドで送信しても
何も送信されません。
Dim BinDat(2) As Byte
BinDat(0) = 1
BinDat(1) = 2
BinDat(2) = 3
Comm1.Output = BinDat
試しに文字列の送信をしてみたところ正常に送信できました。
Comm1.Output = "Hello"
そもそもComm Control 3.0ではバイナリデータの送受信ができない
仕様なのでしょうか?
ご存知の方いらっしゃいましたらご教示宜しくお願い致します。
自己レスです。
Byte型配列に入れたデータを文字列型に代入し直してから
送信してみたところ正常に送信できました。
Dim BinDat(2) As Byte
Dim i As Integer
Dim Temp As String
BinDat(0) = 1
BinDat(1) = 2
BinDat(2) = 3
Temp = ""
For i = 0 To UBound(BinDat)
Temp = Temp + Chr(BinDat(i))
Next i
Comm1.Output = Temp
バイナリデータを送信する場合、本当にこのような処理を
する必要があるのか、またこの処理が適正なのかも疑問です。
とりあえずこれからバイナリデータの受信テストをやってみます。
意味不明な機械翻訳ですがMSのサイトから下記ページを見つけました。
http://support.microsoft.com/kb/271302/ja
配列データがバグのため送信できないのでWriteFile APIで直接送信してね、
ってことでしょうか…
ツイート | ![]() |