Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2017, 14:06   #1
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 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, 14:07   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

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

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

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

единственный
FreddyZSX вне форума Ответить с цитированием
Старый 11.12.2017, 17:12   #6
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

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

Последний раз редактировалось Aliens_wolfs; 11.12.2017 в 17:31.
Aliens_wolfs вне форума Ответить с цитированием
Старый 12.12.2017, 08:23   #7
FreddyZSX
Пользователь
 
Регистрация: 26.02.2015
Сообщений: 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, 08:26   #8
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

попробуйте не 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 в 08:40.
Aliens_wolfs вне форума Ответить с цитированием
Старый 13.12.2017, 08:28   #9
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Код:
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 в 08:30.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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