vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Problem mit Thread und Invoke 
Autor: Flameboy
Datum: 07.11.05 16:39

Hallo,

ich öffne TCP/IP mit
oTcpClient.GetStream.BeginRead(ServerDaten, 0, 1024, AddressOf DoRead, Nothing)
In der Prozedur Do Read
Private Sub DoRead(ByVal Ar As IAsyncResult)
        'Client
        Dim inAnzahl As Integer
        Try
            inAnzahl = oTcpClient.GetStream.EndRead(Ar)
 
            ' Sind überhaupt noch Zeichen im Stream?
            If inAnzahl < 1 Then
                Exit Sub
            End If
            ' Empfangene Zeichen in String umwandeln
            BuildString(ServerDaten, 0, inAnzahl)
 
            oTcpClient.GetStream.BeginRead(ServerDaten, 0, 1024, AddressOf _
              DoRead, Nothing)
        Catch eX As SocketException
            MsgBox("FEHLER: " & eX.Message)
        End Try
    End Sub
Rufe ich die Prozedur BuildString auf
Private Sub BuildString(ByVal Daten() As Byte, ByVal Start As Integer, ByVal _
  Anzahl As Integer)
        Try
            'Einlesen der einkommenden Werte
            'Client
            Dim sdata As String
            Dim oSWr As New StreamWriter(oTcpClient.GetStream)
 
            sdata = System.Text.Encoding.Default.GetString(Daten, Start, Anzahl)
 
            Dim ParamListe() As Object = {sdata}
            Dim paramliste1() As Object = {0}
            Me.Invoke(New DisplayInvoker(AddressOf Me.Status), ParamListe)
            Me.Invoke(New DisplayInvoker(AddressOf Me.Daten_auswerten), _
              ParamListe)
            Me.Invoke(New DisplayInvoker1(AddressOf Me.Linie_zeichnen), _
            paramliste1)
 
            Daten_auswerten(sdata)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
In der Prozedur Linie_zeichnen bleibt er dann mit dem Fehler: "Cross-thread operation not valid: Control 'picGraph' accessed from a thread other than the thead it was created on" an der Stelle picGraph.Refresh
private sub Linie_zeichnen
'...
picGraph.Refresh()
end sub
Hat jemand eine Idee was ich ändern muss damit ich die Picturebox aus dem Thread heraus refreshen kann?

Gruß
Flameboy
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit Thread und Invoke793Flameboy07.11.05 16:39
Ich benutze VS2005 beta511Flameboy07.11.05 16:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel