DoNcEr Opublikowano 27 Września 2012 Udostępnij Opublikowano 27 Września 2012 Witam Napisalem serwer - klient na socketach. Do klientów piszę tą procedurą: procedure TForm1.buttonClick(Sender: TObject); begin Serwer.Socket.Connections[ListView1.ItemIndex].SendText(RDoWys.Text); end; ListView dodaje klientów online i kasuje gdy sie ktos rozlaczy , więc mój problem polega na tym, że w momencie gdy klient sie rozłączy a ja klikne button to wywala blad bo juz nie ma itema o tym indeksie. Jak napisać do tego warunek ,że "jeśli ten itemindex istnieje to wyślij"? Starałem się jasno opisać a trochę nazawijałem mam nadzieje że zrozumiecie;) Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Września 2012 Administratorzy Udostępnij Opublikowano 27 Września 2012 if ListView1.Items.Count > ListView1.ItemIndex albo coś takiego. Bo item Index jest 0,...,n, a count będzie 0,1,...,n+1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DoNcEr Opublikowano 27 Września 2012 Autor Udostępnij Opublikowano 27 Września 2012 Sprawdziłem ten warunek niestety tak samo ale dzięki rozjaśniło mi się trochę spróbowałem tak: procedure TForm1.buttonClick(Sender: TObject); var i:integer; begin i:= ListView1.Items.Count-1; if i >= ListView1.ItemIndex then Serwer.Socket.Connections[ListView1.ItemIndex].SendText(doWyslania.Text); end; i myślę że to powinno już na pewno działać.. a jednak nie działa:/ EDIT: var i:integer; begin i:= ListView1.Items.Count-1; if ( (i >= ListView1.ItemIndex) and (ListView1.ItemIndex >= 0 ))then Serwer.Socket.Connections[ListView1.ItemIndex].SendText(doWyslania.Text); end; problem rozwiązanny po rozlaczeniu klienta itemindex zwracał wartość -1 dlatego mi wywalało Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 29 Września 2012 Udostępnij Opublikowano 29 Września 2012 Może GML if ListView1.Strings[ItemIndex] <> '' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się