Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Nicht genug wirkliche Parameter (https://www.delphipraxis.net/166459-nicht-genug-wirkliche-parameter.html)

MisterC 14. Feb 2012 14:11


Nicht genug wirkliche Parameter
 
Jetzt habe ich noch ein Prob bei sendText kommt folgende Fehlermeldung:

Nicht genug wirkliche Parameter.
Untern steht der code.




Hat sich erledigt:
Ich habe ein Problem mit der Komponente Tserversocket.socket.remoteaddress
Wenn ich das Projekt starte kommt undefinierter bezeicher 'RemoteAdress'.
Am besten ihr nennt mir alle Fehler.



lg fabi

ps:

Code:
unit chat;

interface

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

type
  TForm1 = class(TForm)
    PortLabel: TLabel;
    Port: TEdit;
    Protokoll: TGroupBox;
    Memo1: TMemo;
    User: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Server: TServerSocket;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ServerClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure ServerClientError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Userzahl: Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Server.Port:=strtoint (Port.Text);
Server.Active:=True;

Button1.Enabled:=False;
Button2.Enabled:=True;

Memo1.Lines.Add('Status: Server gestartet.') ;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Server.Port:=strtoint (Port.Text);
Server.Active:=False;

Button1.Enabled:=True;
Button2.Enabled:=False;

Memo1.Lines.Add('Status: Server angehalten') ;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('Serversoftware version1.0') ;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Server.Active:=False;
Application.Terminate;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Server.Active:= False;
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress +'verbunden.');
Userzahl:=Userzahl +1;
User.Caption:='User: ' + inttostr(Userzahl);
end;


procedure TForm1.ServerClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress +'getrennt.');
Userzahl:=Userzahl -1;
User.Caption:='User: ' + inttostr(Userzahl);
end;



procedure TForm1.ServerClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
Memo1.Lines.Add('Status: Client ' + Socket.RemoteAddress + 'hat den Fehler:' + inttostr(Errorcode));
Userzahl:=Userzahl -1;
User.Caption:='User: ' + inttostr(Userzahl);
end;

procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var i:integer;
Nachricht:AnsiString;
begin
Nachricht:=Socket.RemoteAddress + ': ' + Socket.ReceiveText;
Memo1.Lines.Add(Nachricht);

for i := 0 to Server.Socket.ActiveConnections - i do
 Server.Socket.Connections[i] .SendText[Nachricht]; //Hier steht der Fehler laut Delphi

end;

end.

DeddyH 14. Feb 2012 14:19

AW: Problem mit Tserversocket.socket.remoteadress
 
Fehlt vielleicht nur ein "d"? Remoteaddress, es könnte also einfach ein Tippfehler sein.

MisterC 14. Feb 2012 15:59

AW: Problem mit Tserversocket.socket.remoteadress
 
Daran lags vllt. kannste mir beim neuen problem helfen

DeddyH 14. Feb 2012 17:23

AW: Nicht genug wirkliche Parameter
 
Ich hab die Sockets nicht installiert, aber schau doch einfach nach, welche Parameter da erwartet werden. Und ein bisschen ordentliche Formatierung würde den Code viel lesbarer machen. Auf jeden Fall kommen mir die eckigen Klammern da komisch vor, [Nachricht] hätte ich eher in (Nachricht)-Schreibweise vermutet.

P.S.: Mach bitte für neue Probleme auch neue Threads auf, statt die alten löschen/überschreiben, sonst landen wir hier schnell im Chaos.

MisterC 14. Feb 2012 17:27

AW: Nicht genug wirkliche Parameter
 
OK Bin neu werde daran denken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 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