tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルコールバックされた処理を分岐させる。
記事No9557
投稿日: 2009/11/06(Fri) 14:33
投稿者KEISUKE
こんにちは、POSTデータではお世話になりなした、ありがとうございます。
vb暦 3ヶ月の初心者です、ワード検索ごGOOGLE等で調べましたが
解決できませんで、質問させていただきます。
環境はWindows Vista、使っているものはVB2008 Express Editionです。


下にあるコーディングのCALL 足作成(GX)で呼び出しているのを
別スレッドで動作させたいのですが、私の知っている知識では出来ません。
どの様にしましたら可能なのでしょうか?



Private Sub ReceiveDataCallBack(ByVal sender As Object, ByVal Did As _
               DdeUtils.Data.DdeItemData)
    
        ' 受信データを表示
        Dim savedata As New SaveDataClass()
        'コールバックしたデータ
        Dim X As Integer = savedata.GetXLocation(DataGridView1, Did)
        Dim Y As Integer = savedata.GetYLocation(DataGridView1, Did)


If Did.ddeItem = "最良買気配値1" Then
   DataGridView1(X, Y).Value = DataConverter.ByteArrayToString_  
             (Did.ddeData, ControlChars.NullChar))
     If Y = 0 Then
         Label6.Text = Val(DataConverter.ByteArrayToStrig_
             (Did.ddeData, ControlChars.NullChar))
         Call 板表示()
     End If
ElseIf Did.ddeItem = "出来高" Then
     If Y = 1 Then    
            Call 歩み()
            Call 足作成(GX)
     End If
ElseIf Did.ddeItem = "現在値" Then
         If Y = 0 Then
           TextBox2.Text = CInt(DataConverter.ByteArrayToString_
                           (Did.ddeData, ControlChars.NullChar))
            Call 監視()
          Else
            TextBox5.Text = CInt(DataConverter.ByteArrayToString_
                             (Did.ddeData, ControlChars.NullChar))
         End If
ElseIf Did.ddeItem = "現在値時刻" Then
     DataGridView1(X, Y).Value = (DataConverter.ByteArrayToString_
             (Did.ddeData, ControlChars.NullChar))
Else
    DataGridView1(X, Y).Value = DataConverter.ByteArrayToString_
            (Did.ddeData, ControlChars.NullChar)
End If
End Sub

Sub 足作成(ByVal GX)

        Dim AT01 As Date, AT02 As Date
        AT01 = DataGridView1(2, 1).Value
        AT02 = DataGridView2(0, Me.GX).Value

  If AT01 = TimeValue("9:00") And AT02 = TimeValue("9:00"Then        
       GX = GX + 1
  ElseIf AT01 = AT02 Then              
     For X1 = 1 To 4
        DataGridView2(X1, Me.GX).Value = DataGridView1(3, 1).Value
     Next X1
        DataGridView2(5, Me.GX).Value = DataGridView1(5, 1).Value
        Me.GX = Me.GX + 1
  ElseIf AT01 < AT02 Then
     DataGridView2(4, Me.GX - 1).Value = DataGridView1(3, 1).Value
     DataGridView2(5, Me.GX - 1).Value = DataGridView2(5, Me.GX - 1).Value
  End If
                                          

[ツリー表示へ]
タイトルRe: コールバックされた処理を分岐させる。
記事No9558
投稿日: 2009/11/06(Fri) 14:46
投稿者Hongliang
そもそも、Sub 足作成(ByVal GX) は DataGridView という GUI を操作しているようなので、別スレッドで扱うことはできなさそうです。
それに、この程度の処理を別スレッドにしたところで意味はないでしょう。

[ツリー表示へ]
タイトルRe^2: コールバックされた処理を分岐させる。
記事No9559
投稿日: 2009/11/07(Sat) 07:45
投稿者KEISUKE
返信遅くなりました、申し訳ありません。

そうですか、たしかにその通りです、ただ、方法が解れば他にも
使いたい部分があったものですから、申し訳ありません。
ありがとうございました。

[ツリー表示へ]