Autor Beitrag
DellaScribvers
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 24.04.09 23:11 
Hallo

Ich habe bei diesem Programmausschnitt das Problem das er mir nur die letzte zahl oder Buchstaben in das textfeld reinschreibt. und ich verstehe nicht warum . woran liegt der Fehler.

Zu erst hat er immer gesagt das es nicht Thread sicher ist wenn ich einen string auf die textbox schreibe . aber das habe ich mit der Invoke gelöst .

Aber bei diesen Problem weiß ich nicht weiter.

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
public void OnDataReceived(IAsyncResult asyn)
        {



            try
            {
                CSocketPacket theSockId = (CSocketPacket)asyn.AsyncState;

                // Empfange die Daten
                int iRx = 0;
                iRx = theSockId.thisSocket.EndReceive(asyn);
                char[] chars = new char[iRx + 1];
                Decoder dec = Encoding.UTF8.GetDecoder();

                int charLen = dec.GetChars(theSockId.dataBuffer, 0, iRx, chars, 0);

              string szData = new string(chars);



              textBoxReceive.Invoke(new MethodInvoker(delegate() { textBoxReceive.Text = szData; }));






              WaitForData(m_socAccept);
            }
            catch (ObjectDisposedException)
            {
                System.Diagnostics.Debugger.Log(0"1""OnDataReceived: Socket has been closed!\n");
            }
            catch (SocketException se)
            {
                MessageBox.Show(se.Message);
            }
        }