Einzelnen Beitrag anzeigen

PatrickB

Registriert seit: 13. Dez 2007
61 Beiträge
 
#1

Undefinierter Bezeichner: 'ServerClientRead'

  Alt 17. Dez 2007, 19:02
Hi,

ich mache grad das Tutorial: http://www.dsdt.info/tutorials/winsocket/?page=4

Das Problem ist, dass ich Delphi 5 habe. Und bei dieser Version gibt es auf der Tool-Palette noch keine Sockets.
Jetzt hab ich halt alles so nach diesen Schritten gemacht. Nur wenn ich jetzt versuche den Quelltext zu kompilieren erscheint immer dieser Fehler:
Zitat:
[Fehler] Unit1.pas(40): E2003 Undefinierter Bezeichner: 'ServerClientRead'
Wo liegt der Fehler?
Hier mal noch der Quellcode:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DdeMan, Scktcomp, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure DdeServerConv1Open(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    Server: TServerSocket;
    Client: TClientSocket;
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
  //Initialisierung des Objekts (ältere Delphi-Versionen)
  Server := TServerSocket.Create(Form1);
  Client := TClientSocket.Create(Form1);
  Server.OnClientRead := ServerClientRead; //Nur bei älteren Versionen
  try
    Server.Port := 10024;
    Server.Open;
    Client.Port := 10024;
    Client.Host := '127.0.0.1';
    Client.Open;
  except
    //Im Fehlerfall wieder freigeben (ältere Versionen)
    Client.Free;
    Server.Free;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Client.Free;
  Server.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Client.Socket.SendText('Hallo!');
end;

procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  MSG: String;
begin
  //Der Text wird in der Variable MSG gespeichert
  MSG := Socket.ReceiveText;

  //Der Text wird einem MemoFeld hinzugefügt
  Memo1.Lines.Add(MSG);
end;



end.
  Mit Zitat antworten Zitat