Also, in einem Spiel von mir, dass man per Netzwerk spielen soll, kann man mittleweile ähnlich wie in wc3, cs o.ä. per Enter-Taste ein Eingabefeld öffnen, Nachrichten eingeben und per Enter an den anderen Spieler wegschicken.
Dieser soll dann die Nachricht für ein paar Sekunden(mit einem label) angezeigt kriegen, nach Ablauf der Zeit soll das label verschwinden.
Das Problem ist nur, dass wenn der 2. Spieler das Label noch sieht, und der erste Spieler etwas macht (einheit bewegen o.ä.), dass dann der befehl, der über das netzwerk gesendet wird (einehit von a nach b bewegen) nciht bearbeitet wird.
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 
 | procedure tmain.settext(S:string);begin
 mchatlog.lines.add('Spieler 2: '+s);
 mtext.caption:=S;
 mtext.visible:=true;
 delay(5000);
 mtext.visible:=false;
 mtext.caption:='';;
 end
 | 
		
	  
mtext ist das label, in dem die textausgabe erfolgen soll.
Die prozedur delay sieht so aus:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 
 | procedure tmain.delay(time:integer);var start:int64;
 begin
 start:=gettickcount;
 while gettickcount-start<time do
 application.processmessages;
 end;
 | 
		
	  
falsch weiterer code gewüscnht wird, liefer ich den nach. das probnlem tritt übrigens auch auf, wenn man zweri nachrichten schnell hintereinander sendet.
ich könnte als mögl lösung, weitere aktionen des spielers unterrbinden, wenn er eine nachricht schreibt, aber das wäre doch eine ziemlich unschöne lösung