Показать сообщение отдельно
  #1  
Старый 31.08.2008, 14:50
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию Помогите, пожалуйста исправить прогу(чат) для интернета

Есть код:

Код:
unit UnitInternet1;

interface

uses
   Winsock,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp, ExtCtrls, AppEvnts, Menus;

type
  TForm1 = class(TForm)
    ClientSocket2: TClientSocket;
    ServerSocket2: TServerSocket;
    PanelServer: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    RemIP: TEdit;
    PanelClient: TPanel;
    Label3: TLabel;
    Label4: TLabel;
    RemIP2: TEdit;
    OutServer: TButton;
    Memo1: TMemo;
    Str2: TMemo;
    OutClient: TButton;
    Str: TMemo;
    MainMenu1: TMainMenu;
    Options: TMenuItem;
    SOptions: TMenuItem;
    GetIP: TMenuItem;
    SGetIP: TMenuItem;
    procedure ServerSocket2ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket2Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure OutServerClick(Sender: TObject);
    procedure ClientSocket2Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure OutClientClick(Sender: TObject);
    procedure SOptionsClick(Sender: TObject);
    procedure SGetIPClick(Sender: TObject);
    procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure NOTTT(Sender: TObject);
    procedure NOTTT2(Sender: TObject; var CanClose: Boolean);
    procedure NOTTTT3(Sender: TObject);
    procedure NOTTT4(Sender: TObject; DockClient: TControl;
      var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean);
  private
    { Private declarations }
  public
  procedure SendMes(Text: String);
  end;

var
  Form1: TForm1;

implementation

uses UnitInternet1VS, Unit1InternetVIP;

{$R *.dfm}
procedure TForm1.ServerSocket2ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin // сервер получает информацию
RemIP.Text := Socket.RemoteAddress;
Str.Text   := Socket.ReceiveText  ;
end;

procedure TForm1.ClientSocket2Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin   // клиент получает информацию
RemIP2.Text := Socket.RemoteAddress;
Str2.Text   := Socket.ReceiveText  ;
end;

procedure TForm1.SendMes(Text: String);
var
  i: byte;
begin
  with ServerSocket2.Socket do
  begin
      for i := 0 to ActiveConnections - 1 do begin
      try
        Connections[i].SendText(Text);
        Application.ProcessMessages;
      except
      ShowMessage('Error при попытке отправить сообщение: '+Memo1.Text);
     end;
  end;
end;
end;


procedure TForm1.OutServerClick(Sender: TObject);
begin
Form1.SendMes(Memo1.Text);
end;

procedure TForm1.ClientSocket2Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Canvas.Pen.Mode    := pmBlack;
Canvas.Ellipse(0,0,40,30);
end;

procedure TForm1.OutClientClick(Sender: TObject);
begin
if ClientSocket2.Active = False then begin ShowMessage('Клиент не включён'); exit; end;
 try
  ClientSocket2.Socket.SendText(Memo1.Text);
 except
  ShowMessage('Error при попытке отправить сообщение: '+Memo1.Text);
 end;
end;

procedure TForm1.SOptionsClick(Sender: TObject);
begin
Form1.Enabled := False;
Form2.Left := Form1.Left-10;  
Form2.Show;
end;

procedure TForm1.SGetIPClick(Sender: TObject);
const
  WINSOCK_VERSION=$0101;
var
 WSAData: TWSAData;
 p: PHostEnt;
begin
 GetIPForm.Show;
 WSAStartup(WINSOCK_VERSION, WSAData);
 p:=GetHostByName(PChar(GetIPForm.Edit1.Text));
 GetIPForm.IP.TEXT:='IP: '+inet_ntoa(PInAddr(p.h_addr_list^)^);
 WSACleanup;
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Application.Terminate;
end;

procedure TForm1.NOTTT(Sender: TObject);
begin
//Нето
end;

procedure TForm1.NOTTT2(Sender: TObject; var CanClose: Boolean);
begin
//
end;

procedure TForm1.NOTTTT3(Sender: TObject);
begin
//
end;

procedure TForm1.NOTTT4(Sender: TObject; DockClient: TControl;
  var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean);
begin
//Application.Terminate;
end;

end.
Так вот скажите что надо сделать, чтоб проект заработал на 2-х машинах?
Ответить с цитированием