В принципе нашел ответ на свою проблему здесь http://forum.vingrad.ru/topic-49495.html, но так и не понял, как подключить файл, который указан в последнем сообщении. Объясните пожалуйста.
Пытаюсь реализовать чат в сетевых шашках. Код примерно следующий (пока только чат):
| Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, IdUDPServer, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient;
type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Button1: TButton; GroupBox2: TGroupBox; Edit2: TEdit; Button2: TButton; Memo1: TMemo; Label3: TLabel; IdUDPClient1: TIdUDPClient; IdUDPServer1: TIdUDPServer; procedure Button2Click(Sender: TObject); procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject); begin IdUDPClient1.Send(Edit2.Text); end;
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var StringFormatedStream: TStringStream; s: String; begin //Initialization StringFormatedStream := TStringStream.Create(''); //Копируем из простого потока в строковый StringFormatedStream.CopyFrom(AData, AData.Size); //Выводим полученное сообщение Memo1.Lines.Add(ABinding.PeerIP+' '+StringFormatedStream.DataString); //Перенаправление сообщения дальше ABinding.SendTo(ABinding.PeerIP, Abinding.PeerPort, s[1], Length(s)); //Освобождаем строковый поток. StringFormatedStream.Free; end;
end.
|
А ошибки выдает следующие:
| Код | [Error] Unit1.pas(27): Undeclared identifier: 'TIdSocketHandle' [Error] Unit1.pas(60): ')' expected but identifier 'PeerIP' found [Error] Unit1.pas(60): 'END' expected but ')' found [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
|
|