Autor Beitrag
paddy14
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122



BeitragVerfasst: Sa 30.04.11 19:04 
Guten Tag Forum,

ich bin gerade mit meinem latein am Ende.

Ich habe einen kleinen Chat gebaut, geht auch sehr gut bis auf meine Statusleiste.

Aber zu meiner eigentliche Frage, wenn ich dieses Prog ausführe geht auch alles bis auf die Statusleiste, dort steht z.B. bei dem einen Client 11 \n 12 und bei dem anderen 12 \n 12, das ist aber falsch denn dort sollte stehen client1. 11 \n 12 und client2. 11 \n 12.

Beim Debuggen allerding geht das komischer weise auf einmal richtig.


Kann sich das einer erklären?


mfg patrick
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 30.04.11 19:23 
Hast du die Projektmappe neu erstellt? Geht mit der F6-Taste.
paddy14 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122



BeitragVerfasst: Sa 30.04.11 21:05 
Nein es geht immer noch nicht, also das ist der code was gesendet werden soll

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public void status_abruf()
        {            
            for (int _status = 0; _status < user_objekt.Count; _status++)
            {
                for (int status_nr = 0; status_nr < user_nummer.Count; status_nr++)
                {
                    <span style="color: red">int st_nr = 11 + status_nr;</span>
                    //Thread.Sleep(1000);
                    user_objekt[_status].eingang(st_nr + "status!");
                }
            }
        }


so ihr seht ja, das rote wird immer hochgezählt, aber wenn ich das Prog ausführe kommt immer nur 12 bei raus, als ob der erste Schleifendurchgang einfach Überspungen wird.

Ich habe auch schon versucht mit einem Sleep, aber nix geholfen.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 30.04.11 23:20 
Was macht denn user_objekt[_status].eingang? Aktualisiert das den Statuszeilentext, und aktualisiert es die Oberfläche auch irgendwie (Application.DoEvents();? Sonst können die Zwischenschritte ja gar nicht aktualisiert werden. Und ist Thread.Sleep nun auskommentiert oder nicht? Wenn nicht, müsstest du doch auch an daran was erkennen, wie lange der Vorgang dauert.

Ich würde dir empfehlen, den Fehler selbst weiter einzugrenzen, denn anhand dieses Codeschnipsels kann ich nicht wirklich etwas ablesen. Am besten erstellst du ein neues Beispielprojekt und baust dort so lange die Sachen aus dem anderen Projekt ein, bis es nicht mehr funktioniert. Dann kannst du die Fehlerquelle viel besser eingrenzen und auch hier besser erläutern.
paddy14 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122



BeitragVerfasst: Sa 30.04.11 23:58 
Ok gut werde ich machen.

user_objekt... selber ruft nur eine methode in meiner Klasse auf die dazu dient daten mit Networkstream.Read(...) zu senden.