Entwickler-Ecke
Internet / Netzwerk - chat programm -- error
satan - Do 18.12.08 21:12
Titel: chat programm -- error
servuß, bin neu hier, extra wegen dem angemeldet
bin noch nicht so gut in delphi, hab davor ein bisschen in cpp gecodet, aber da ich rad's so mag und delphi toll finde, code ich jetzt in delphi
chat programm, ganz simpel, eigentlich ganz einfach, nach einem bespiel gecodet...
aber: "Asynchroner Socket error 10061"
und "Listenindex überschreitet das maximum(0)"
was stimmt da nicht??
nachrichten werden auch keine übertragen, eig geht nichts...
hm...
Delphi-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:
| procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket1.Active := true; ClientSocket1.Host := Edit2.Text; Showmessage('Verbindung aufgebaut'); end;
procedure TForm1.Button2Click(Sender: TObject); begin if ClientSocket1.Active then begin ClientSocket1.Socket.SendText('Client: ' + Edit1.Text); Memo1.Lines.Add('Client: ' + Edit1.Text); end; end;
procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end;
procedure TForm1.Button4Click(Sender: TObject); begin ClientSocket1.Active := false; Application.Terminate; end; |
was mach ich falsch? das war der client, server ähnlich.
danke
mfG
Moderiert von
Christian S.: Quote- durch Delphi-Tags ersetzt
jaenicke - Do 18.12.08 21:22
Titel: Re: chat programm -- error
Hallo und :welcome: hier bei uns im Forum!
satan hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add(Socket.ReceiveText); end; | |
Du verbindest hier doch erst, was willst du an der Stelle denn schon mit ReceiveText? Du hast ja noch gar keinen Text empfangen. ;-)
Dafür gibt es das Ereignis OnRead für das Empfangen von Text.
Schau dir mal dieses Tutorial an, das macht genau was du vor hast und ist sehr gut erklärt:
http://www.delphi-library.de/topic_60744.html
satan - Do 18.12.08 21:29
on read? kenn ich nicht ^^
habe bis jetzt nur konsolenbasiert gecodet...
muss ich eine neue prozedur für das onread ereignis machen?
jaenicke - Do 18.12.08 21:31
Klick auf deinen ClientSocket und schau unter Ereignisse, dort steht das Ereignis. Dann klick dort doppelt auf OnRead.
Aber schau dir doch mal das Tutorial an, dort wird ja erklärt wie die Abläufe sind. Wenn du bisher konsolenbasiert programmiert hast, dann musst du umdenken von sequentiellem Abarbeiten von Befehlen auf ereignisorientiertes Vorgehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!