C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Компонент IdUDPServer v10.1.5 и SendBuffer (RAD 2007 C++ Builder)  (Прочитано 11815 раз)
DENIS451
Участник


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

Сообщений: 87


« : 06 Октябрь 2007, 21:06:20 »

void __fastcall TForm1::IdUDPServer1UDPRead(TObject *Sender, TBytes *AData, TIdSocketHandle *ABinding)
{
int dlinna = AData->Size;

............
и т.д.
..............
}

Вобщем раньше в BDS 2006 я так писал, а теперь они что то намутили в RAD Studio 2007 C++ Builder стало TBytes AData а не TBytes *AData и теперь строка int dlinna = AData->Size;  вызывает ошибку!

Что делать?
« Последнее редактирование: 09 Октябрь 2007, 23:31:32 от DENIS451 » Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #1 : 06 Октябрь 2007, 22:56:56 »

учить мат.часть
AData.Length
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #2 : 07 Октябрь 2007, 00:30:26 »

Спасибо!

Только теперь я не пойму как перегнать содержимое пакета из AData в char[], 
AData->ReadBuffer(&paket,sizeof(paket));

теперь конечно тоже накрылось медным тазом
Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #3 : 07 Октябрь 2007, 00:52:12 »

AData и является массивом, только не char, а Byte
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #4 : 07 Октябрь 2007, 01:30:12 »

int dlinna = AData.Length;

а почему у меня  в dlinna  оказывается число 12348480 при каждом приёме разных пакетов в 50...200 байт длинной ?
Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #5 : 07 Октябрь 2007, 11:14:50 »

понятия не имею, почему. могу лишь предположить, что где-то у Вас ошибка
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #6 : 07 Октябрь 2007, 11:44:09 »

Код
void __fastcall TForm1::IdUDPServer1UDPRead(TObject *Sender, TBytes AData,
     TIdSocketHandle *ABinding)
{
int dlinna = AData.Length;
Memo1->Lines->Add(dlinna);
return; // это временно чтоб глюк отловить
//-----------------------
// всякий другой код
//-----------------------
}

Где тут может быть ошибка?
Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #7 : 07 Октябрь 2007, 12:25:45 »

откуда мне знать, что Вы ему посылаете
у меня в Lenght правильно отображается длина посланной строки
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #8 : 07 Октябрь 2007, 13:28:14 »

Какой ещё посланной?!

Мне длинну принятого пакета надо узнать! а потом ещё рассувать по интам и чарам, этот пакет в цикле, который пробегает его побайтно пока не кончится  длинна пакета.
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #9 : 07 Октябрь 2007, 13:29:29 »

Обсуждение по этой теме приостанавливается пока я не разживусь новым дистрибутивом
оказывается у меня какая то покраченая бэта версия от 06.2007, качал емулом:

ed2k://|file|CodeGear.RAD.Studio.-.[C++Builder.2007.Enterprise].(Cracked_by_void).iso|855515136|48574C234A2C06354E864D4ABA166056|/

На официальном сайте http://www.codegear.com/downloads/regusers/cppbuilder
лежит Update 3 и C++Builder 2007 Update 3 full .zip version 751MB от 14.09.2007

Подскажите где можно скачать 3 апдейт а лучше Дистрибутив уже с апдейтом, и лекарство к нему.

Можно емульные или торентовские ссылки.

Или обьясните как поставить BDS 2006->C++Builder если у меня Microsoft .NET Framework 2.0 удаляться нехочет.
Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #10 : 07 Октябрь 2007, 13:36:09 »

ну да, принятой, точно :)

RAD Studio 2007 на ру-борде в ветке по БДС2006, более подробно в личку

по теме: см. вложение
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #11 : 07 Октябрь 2007, 13:49:30 »

Цитировать
RAD Studio 2007 на ру-борде в ветке по БДС2006

http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=28572&start=1020

Это?

Вот я скин сделал как твой проект у меня ошибки вызывает.

А он у тебя работает, компилится? Если да то на чём же ты его писал?
« Последнее редактирование: 07 Октябрь 2007, 15:01:33 от DENIS451 » Записан
VerZer
Участник


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

Сообщений: 1138


« Ответ #12 : 07 Октябрь 2007, 15:07:27 »

это это. личку смотри

работает, компилится:
Записан
DENIS451
Участник


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

Сообщений: 87


« Ответ #13 : 09 Октябрь 2007, 21:02:44 »

Дистрибутив раздобыл.

Вобщем оказывается что в 2007 билдере метод IdUDPServer1->SendBuffer(х.з. знает что тут писать);

устроен по другому, я вообще не могу понять как тут отправить пакет с нулевыми байтами!

в старом я так писал IdUDPServer1->SendBuffer("10.10.10.15",27015,"яяяяinfostring\0",15);

Как это сделать?

И раз я ничего не отправлял, значит и пакеты приниматься не могли, а срабатывание обработчика приёма это какойто
глюк!   

« Последнее редактирование: 09 Октябрь 2007, 23:39:55 от DENIS451 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.049 секунд. Запросов: 20.