Показать сообщение отдельно
  #5  
Старый 07.06.2013, 09:35
Ioanwar Ioanwar вне форума
Прохожий
 
Регистрация: 07.06.2013
Сообщения: 9
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
Код:
1. ct:=(CS.Socket.ReceiveLength div 4)div 768;
2. SetLength(Adm,ct);
3. CS.Socket.ReceiveBuf(Adm[0],CS.Socket.ReceiveLength);
1. переменная ct принимает значение равное ReceiveLength / 3072
2. массиву Adm назначается этот размер
3. из сокета запрашиваются данные в массив Adm с максимальным размером равным ReceiveLength, т.е. в 3072 раза больше, чем сам массив
В первой строке я узнаю количество элементов в массиве, во второй строке я создаю массив с этим количесвом элементов, и в 3й строке я принимаю в этот массив данные... т.е. ReceiveBuf(Adm[0],CS.Socket.ReceiveLength);
где Adm[0]- адрес, а CS.Socket.ReceiveLength задаю размер буфера.
т.е. по идее второй параметр ReceiveBuf я указываю размер буффера а не размер массива
Ответить с цитированием