Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.12.2017, 15:06   #1
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 10
Репутация: 10
По умолчанию SendBuf Ошибка

Здравствуйте!

Начал разбираться с работой по сети. Наткнулся на проблему... Хочу послать данные через SendBuf. Вылетает ошибка "List index out of bounds (0)". SendText - работает нормально.

Привожу код:
Цитата:
//Инициализация элементов массива
for i := 0 to 19 do GLB_arByte[i]:= i;
//Выдать массив по сети
ServerSocket.Socket.Connections[0].SendBuf(GLB_arByte,sizeof(GLB_arBy te));
Заранее благодарен...
FreddyZSX вне форума   Ответить с цитированием
Старый 11.12.2017, 15:07   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,074
Репутация: 1862

icq: 216409213
По умолчанию

А в Connections есть ли элементы?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 11.12.2017, 15:19   #3
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 10
Репутация: 10
По умолчанию

Нет. Один единственный (с индексом 0)
FreddyZSX вне форума   Ответить с цитированием
Старый 11.12.2017, 15:36   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,074
Репутация: 1862

icq: 216409213
По умолчанию

Так нет или один единственный?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 11.12.2017, 17:12   #5
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 10
Репутация: 10
По умолчанию

единственный
FreddyZSX вне форума   Ответить с цитированием
Старый 11.12.2017, 18:12   #6
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 839
Репутация: 417
По умолчанию

Цитата:
SendText - работает нормально.
Покажите как вы объявляете буфер GLB_arByte

Последний раз редактировалось Aliens_wolfs; 11.12.2017 в 18:31.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 12.12.2017, 09:23   #7
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 10
Репутация: 10
По умолчанию

В объявлениях модуля:

Цитата:
var

GLB_arByte: array [0..19] of byte = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0);
FreddyZSX вне форума   Ответить с цитированием
Старый 12.12.2017, 09:26   #8
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 839
Репутация: 417
По умолчанию

попробуйте не for i := 0 to 19 а лучше сделать так for i := 0 to length(GLB_arByte) - 1 do ну либо так For i:= 0 to SizeOf(GLB_arByte) -1 do

Последний раз редактировалось Aliens_wolfs; 12.12.2017 в 09:40.
Aliens_wolfs вне форума   Ответить с цитированием
Старый 13.12.2017, 09:28   #9
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 839
Репутация: 417
По умолчанию

Код:

Var
GLB_arByte: array [0..19] of byte;
i: integer;
begin
//зануляем массив
FillChar(GLB_arByte, SizeOf(GLB_arByte), 0); //либо так  ZeroMemory(@GLB_arByte, SizeOf(GLB_arByte));
//Инициализация элементов массива
for i := 0 to SizeOf(GLB_arByte) -1 do 
GLB_arByte[i]:= i; 
//Выдать массив по сети 
ServerSocket.Socket.Connections[0].SendBuf(GLB_arByte,sizeof(GLB_arByte));


Последний раз редактировалось Aliens_wolfs; 13.12.2017 в 09:30.
Aliens_wolfs вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ServerSocket recievebuf и sendbuf ilyano Работа с сетью в Delphi 4 09.11.2017 18:47
SendBuf и SendText путаница в приёме Vladimirskiu Работа с сетью в Delphi 3 30.04.2016 23:18
Передача Record с дин. массивом через SendBuf() Skeich Работа с сетью в Delphi 9 23.11.2014 20:39
передать массив через Socket.SendBuf(); raketa161 Работа с сетью в Delphi 14 19.05.2012 15:01
Socket.SendBuf\ResiveBuf SunKnight Работа с сетью в Delphi 7 13.06.2008 12:43


14:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru