Einzelnen Beitrag anzeigen

NookShar

Registriert seit: 13. Aug 2004
Ort: Windeck
10 Beiträge
 
Delphi 2005 Personal
 
#1

Probleme mit SendBuf/ReceiveBuf und records (Chat Programm)

  Alt 17. Aug 2004, 23:25
Hallo Zusammen.
Ich wollte einen Netzwerkchat programmieren (wie so viele ), jedoch wollte ich, daß jeder Benutzer sich eine eigene Farbe auswählen kann. Dazu benutze ich dann ein TRichEdit. Das Problem ist jetzt nur, wie bekomme ich die Informationen zum Server gesendet?
Ich habe es mit einem Record versucht, jedoch bekomme ich entweder Ausnahmefehler, Asynchrone Fehler oder es kommt ein falscher bzw. unvollständiger Text an. Wer kann mir helfen?

Hier ist der (vereinfachte) Quellcode:

Delphi-Quellcode:
  TestRecord = record
   text: string;
   farbe: TColor;
   stil: TFontStyles;
  end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 Server.Port := 10024;
 Server.Open;
 Client.Port := 10024;
 Client.Host := 'localhost';
 Client.Open;
end;


procedure TForm1.Button1Click(Sender: TObject);
var Buffer: TestRecord;
begin

 with Buffer do begin
  text := edit1.Text;
  farbe := clBlue;
  stil := [fsBold];
 end;

 Client.Socket.SendBuf(Buffer, SizeOf(Buffer));

end;


procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var GetBuffer: TestRecord;
begin

 Socket.ReceiveBuf(GetBuffer, SizeOf(GetBuffer));

 with GetBuffer do begin
  RichEdit1.SelAttributes.Color := farbe;
  RichEdit1.SelAttributes.Style := stil;
  RichEdit1.Lines.Add(text);
 end;

end;
Ich kann, weil ich will, was ich muß!
  Mit Zitat antworten Zitat