Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Undefinierter Bezeichner: 'ServerClientRead' (https://www.delphipraxis.net/105187-undefinierter-bezeichner-serverclientread.html)

PatrickB 17. Dez 2007 18:02


Undefinierter Bezeichner: 'ServerClientRead'
 
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.

DeddyH 17. Dez 2007 18:04

Re: Undefinierter Bezeichner: 'ServerClientRead'
 
Versuch es mal so:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure DdeServerConv1Open(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); //diese Zeile fehlt
  private
    { Private-Deklarationen }
  public
    Server: TServerSocket;
    Client: TClientSocket;
    { Public-Deklarationen }
  end;

Progman 17. Dez 2007 18:06

Re: Undefinierter Bezeichner: 'ServerClientRead'
 
füg die Proc mal oben bei TForm1 in private oder public mit ein:
Delphi-Quellcode:
public
  procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);

PatrickB 17. Dez 2007 18:07

Re: Undefinierter Bezeichner: 'ServerClientRead'
 
Wow, cool, Danke für die schnelle Antwort.

Hatte schon 10 min gegoogelt, aber nix gefunden :)

Muetze1 17. Dez 2007 19:19

Re: Undefinierter Bezeichner: 'ServerClientRead'
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von PatrickB
Das Problem ist, dass ich Delphi 5 habe. Und bei dieser Version gibt es auf der Tool-Palette noch keine Sockets.

Gerade D5 hatte noch die Sockets. Die Aussage ist somit nicht nachvollziehbar. Siehe Anhang...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz