vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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
Re: TCPClient hängt sich nach Empfang einer Nachricht auf 
Autor: Silver
Datum: 15.08.05 15:05

Hallo,

also, lass uns mal sehen:
(unterbreche mich, wenn ich falsch liege!)

Die Sub "DoRead" ist ein Event, dass vom TcpClient aufgerufen wird, wenn Daten ankommen.Von dort aus rufst du dann "ProcessCommands" auf in der du wiederum mit der Sub "DisplayText" ein neues Fenster aufmachst.

Schäze mal, dass dein Problem daran liegt, dass das Event vom TcpClient nicht "Threatsicher" ist, das heißt dass du von diesen Event aus keine Windows-Form manipulieren kannst.

Ich habe das mal mit einem Threat nachgebaut, da ich jetzt keinen TcpClient programmieren wollte

So funktionierts nicht:

Public Class Form1
 
    Dim tr As System.Threading.Thread
 
    Private Sub FormAnzeigen()
        With New Form2
            .Show()
            .Focus()
        End With
    End Sub
 
    Private Sub test()
        'Thread-Programm als "Simulation" für Tcp-Client => DoRead
       FormAnzeigen
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        ' Neuer Thraed
        tr = New System.Threading.Thread(AddressOf test)
        'Thread starten
        tr.Start()
    End Sub
 
End Class
Aber so:

    Dim tr As System.Threading.Thread
    Private Delegate Sub delFormAnzeigen()
    Private ZeigeForm As New delFormAnzeigen(AddressOf FormAnzeigen)
 
 
    Private Sub FormAnzeigen()
        With New Form2
            .Show()
            .Focus()
        End With
    End Sub
 
 
    Private Sub test()
        'Thread-Programm als "Simulation" für Tcp-Client => DoRead
        Me.Invoke(ZeigeForm)
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        ' Neuer Thraed
        tr = New System.Threading.Thread(AddressOf test)
        'Thread starten
        tr.Start()
    End Sub
 
End Class
Gruß

SIlver
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TCPClient hängt sich nach Empfang einer Nachricht auf898Alexander12.08.05 12:49
Re: TCPClient hängt sich nach Empfang einer Nachricht auf581Silver15.08.05 15:05
Re: TCPClient hängt sich nach Empfang einer Nachricht auf514Alexander15.08.05 16:21

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