Показать сообщение отдельно
  #1  
Старый 07.07.2022, 15:08
ikasjan ikasjan вне форума
Прохожий
 
Регистрация: 07.07.2022
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Indy SendBuffer старый и новый

В delphi7 при отправки буфера по UDP требовалось указать размер буфера. А в новом - не требуется.

было:
procedure TIdUDPBase.SendBuffer(AHost: string; const APort: Integer; var ABuffer; const AByteCount: integer);

стало:
procedure TIdUDPBase.SendBuffer(const AHost: string; const APort: TIdPort; const ABuffer: TIdBytes); // TIdBytes = array of Byte;


Вопросы возникли:
Это они зачем так сделали?
Как определяется длина массива, если мы передаем только указатель?
Что делать, если у меня количество отправляемых данных все время разное? Каждый раз заново выделять память под буфер?
Ответить с цитированием