tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: ShowDialog時の処理について
投稿日: 2008/09/01(Mon) 17:03
投稿者皐月
たくボンさん、さっそくのお返事ありがとうございます。

> ループ処理の中身がわからないので、解答しにくいですがこんな感じですか?

失礼しました。わかりにくいとは思いますが、以下にForm2の内容の一部を記します。
Form2_Loadから、ループ処理のあるCommunicateを呼び出す処理となっています。
現在、以下のソースではForm2は表示されず、communicateのループ処理を行うため強制終了するしか終了方法がありません。
Form2には決定ボタンがありますので、それをクリックされるとForm2がクローズされメインの処理に戻るよう作成してあります。

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, DispSetdata.Enter
        DispSetdata.Select()
        communicate()
    End Sub


Private Sub communicate()
 Do
    If Devicechk(ReDevNo) = 1 And FirstData(ReDevNo) = -1 Then
        StartdataRead(ReDevNo)
    End If

    If Devicechk(ReDevNo) <> 0 Then
        ReadPara()
    End If

    If CommState <> DOREAD Then
        ReDevNo = ReDevNo + 1
        If ReDevNo > 100 Then
           ReDevNo = 0
           ReadNo = ReadNo + 1
           If ReadNo > 10 Then
               ReadNo = 0
               SelectDispItem()
           End If
        End If
     End If

     System.Windows.Forms.Application.DoEvents()
  Loop

End Sub

> ループ処理がTimerで実装できるか検討してみてください。

Timerを使用したときは問題なく動作したのですが、Timerで設定できる最小のIntervalが1となっており、アナライザで測定すると通信データの読み取りで、1データごとに約1.4秒ほど時間の隙間が生じるため、実装を断念しております。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。