Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Listenindex überschreitet das Maximum (https://www.delphipraxis.net/130891-listenindex-ueberschreitet-das-maximum.html)

luckys41 15. Mär 2009 00:25


Listenindex überschreitet das Maximum
 
Hey,

Ich versuche in einem Listview folgendes aufzulisten :

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
item: tlistitem;
begin
item := listview1.items.add;
item.Caption := inttostr(listview1.Items.Count);
item.SubItems.Add(ServerSocket1.Socket.Connections[Listview1.Items.Count].RemoteHost);
statusbar1.Panels[1].Text := 'Leute Online : '+inttostr(ListView1.items.Count);
end;
Doch immer wenn der Client connecten will kommt :

Delphi-Quellcode:
---------------------------
Project1
---------------------------
Listenindex überschreitet das Maximum (1)
---------------------------
OK  
---------------------------
Was mach ich hier falsch??

Mfg
Luckys41

Mr_G 15. Mär 2009 00:38

Re: Listenindex überschreitet das Maximum
 
Meine Glaskugel sagt bei ServerSocket1.Socket.Connections könnte die Indizierung mit 0 beginnen. Eine Lösung könnte sein:
Delphi-Quellcode:
item.SubItems.Add(ServerSocket1.Socket.Connections[Listview1.Items.Count-1].RemoteHost);
Wichtig wäre zu wissen in welcher Zeile der Fehler auftaucht.

derdaniel 15. Mär 2009 01:06

Re: Listenindex überschreitet das Maximum
 
Un warum nimmst du net das Socket was du in der Prozedur eh übergeben bekommst !?

blink182 15. Mär 2009 01:28

Re: Listenindex überschreitet das Maximum
 
weil das Socket soweit ich das in Erinnerung habe, das Socket vom Client ist der gerade Verbunden hat, damit könnte man den dann direkt wieder schließen oder ihm auch eine nachricht senden ;) aber da er ja wissen will, wie viele clients online sind ist das schon richtig so

derdaniel 15. Mär 2009 02:06

Re: Listenindex überschreitet das Maximum
 
Aber er fragt von dem Socket doch den RemoteHost ab !?
Zum Anzeigen der Anzal der verbunden Clients verwendet er doch ListView1.Items.Count !?

Wie wärs also mit:
Code:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
item: tlistitem;
begin
  item := listview1.items.add;
  item.Caption := inttostr(listview1.Items.Count);
  item.SubItems.Add(Socket.RemoteHost);
  statusbar1.Panels[1].Text := 'Leute Online : '+inttostr(ListView1.items.Count);
end;
@luckys41 hast du evtl. vergessen deiner Statusbar zwei Panels hinzuzufügen !?

blink182 15. Mär 2009 11:22

Re: Listenindex überschreitet das Maximum
 
joar war mein fehler^^ sorry, war wohl schon etwas spät ;) hab wohl das Problem nicht ganz gesehen


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