Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Data luokkamodulista mainille .NET

Harpe [10.10.2006 11:02:29]

#

Mulla on erillisessä luokkamodulissa säie josta tietyn ehdon toteutuessa lähetettäisiin merkkijono main-formin textboxiin, mut miten toi lähetys toteutetaan?

Harpe [13.10.2006 10:31:10]

#

Eli oon yrittänyt tota EventHandlerillä, mut en oo saanu
toimiin. MIssähän tuossa vika? RS232-luokassa yritän lukea dataa sarjaportista ja näyttää sen formilla kun puskurissa on dataa.

'Nämä ovat frmMainillä
Imports System.Threading
Public Class frmMain
    Private WithEvents RS As New RS232
    Public Shared Sub Main()
        Dim RS As New RS232
        'Lisätään käsittely RS232-luokan CommEventille
        AddHandler RS.CommEvent, AddressOf CommEventHandler
    End Sub

    Public Sub CommEventHandler(ByVal Rx As String)
        'Rx on data joka näytetään formilla combossa
        lbHex.Items.Add(Rx)
        lbHex.SelectedIndex = lbHex.Items.Count - 1
    End Sub
End Class

'Nämä ovat RS232-luokassa
Imports System
Imports System.IO.Ports
Imports System.Threading

Public Class RS232
    Public Shared COM As SerialPort
    Public bContinue As Boolean
    Public RxText As String
    'määritetään eventit
    Public Event CommEvent As CommEventHandler
    Public Delegate Sub CommEventHandler(ByVal RxText As String)

    Public Sub Read()
        While (bContinue)
            Try
                Dim message As String = COM.ReadChar
                If Not message Is Nothing Then
                    'jos sarjaportissa luettavissa dataa
                    'aktivoidaan CommEvent
                    OnCommEvent(message)
                End If
            Catch ex As TimeoutException
                'Do nothing
            End Try
        End While
    End Sub
    Protected Overridable Sub OnCommEvent(ByVal e As String)
        RaiseEvent CommEvent(e)
    End Sub
End Class

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta