したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

VB2005でDelay(Wait)タイマーを作るには

8こじら:2010/03/25(木) 00:05:35
どうもです。
やはり、SerialPortのクラスを作成し、デリゲートのところではまって
しまいました。
内容はForm1に ボタン1,2,3、TextBox1,2,3があり、
FormUARTクラスを別ファイルで作成し、SerialPort関係を
このクラスに記載しています。

ボタン1を押すと データが送信され、送信結果が返ってきてTextBox1
に文字列で表示されます。
ボタン2を押すと 同様データ送信、送信結果が返ってきてTextBox2に
数字で表示されます。

Class Form1
 
 Dim UART1 as FormUART = New FormUART
Dim rootNo as integer = 0
Delegate Sub dlgAddText(ByVal GetText As String)

 Private Sub Button1_click 〜
   Dim Data as String = "ABC"

   UART1.Send(Data)

End Sub

Public Sub AddText(ByVal strGetText As String)

Select Case rootNo
Case 1
Dim strTmp As String = ""
Dim strVer_Array() As String = Split(strGetText)

For i As Integer = 0 To strVer_Array.Length - 1
strTmp = strTmp + Chr(strVer_Array(i))
Next
TextBox1.Text = strTmp
Case 2

   
End Select
End Sub

  −−−−−−−−−−−−−−−
  Class FormUART

  Dim LByte As List(Of Byte) = New List(Of Byte)
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, _
       ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) _
      Handles SerialPort1.DataReceived

        〜(strInに取り込んだデータを格納)

Me.Invoke(New Form1.dlgAddText(AddressOf Form1.AddText), New Object() {strIn})
   End Sub
 
としていますが、 InvokeのところでErrorになり、はまってしましました。
こういう使いかたはできないのでしょうか?
ポインタイメージでいたので、FORM1のaddTextアドレスを指定すればよいのかと
簡単に捕らえていました。

すみませんがアドバイスお願いできないでしょうか。
ちなみに、 addTextをForm1にしているのは、 Form1のボタンによって
処理(表示形態)が変わるからで、また、FormUARTクラスを今後RS232Cを
使用するプログラムに利用できるように、汎用性を持たせたかったからです。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板