C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Indy UDP  (Прочитано 2851 раз)
ulaf
новенький
*

Сказали спасибо: +0/-0
Offline Offline

Сообщений: 1


« : 08 октября 2014, 14:15:39 »

Есть прога
void __fastcall TForm1::BSendClick(TObject *Sender)
{
unsigned char PaketIn[]={0xFD,0x01,0x00,0xF1,0xF9,0xFE};

TMemoryStream*mm=new TMemoryStream();
mm->WriteBuffer(&PaketIn,sizeof( PaketIn ));
mm->Position=0;
TByteDynArray ar;
ar.set_length(mm->Size);
mm->ReadBuffer((void*)&ar[0],mm->Size);

delete mm;

UDPClient->SendBuffer(EServer->Text,5001,ar);
}
Но в ar заносятся байты до 0 (два байта) Как сделать так  чтобы заносились все 6 байт ?
Записан
Hex
Участник
**

Сказали спасибо: +16/-3
Offline Offline

Сообщений: 38


« Ответ #1 : 18 октября 2014, 19:08:28 »

для Indy v10 и выше:
Код:
unsigned char PaketIn[] = { 0xFD, 0x01, 0x00, 0xF1, 0xF9, 0xFE };
TByteDynArray Buf = RawToBytes(&PaketIn, sizeof(PaketIn));
IdUDPClient1->SendBuffer(EServer->Text, 5001, Buf);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: