Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
1

Indy UDPclient в delphi 7 и delphi 2010

24.04.2014, 18:58. Просмотров 2573. Ответов 12
Метки нет (Все метки)

Появилась необходимость передавать данные из delphi 7 в delphi 2010 по indy udp, но столкнулся с проблемой...
Delphi
1
WaveHdr:TWaveHdr;
вариант delphi 7, при котором все работоспособно:
Delphi
1
idUDPClient1.Sendbuffer(WaveHdr.lpData^,WaveHdr.dwBufferLength);
Но вот не выходит сделать аналогичной операции в delphi 2010, при попытке использования вышеизложенного кода в 10ке, получаю ошибку об не возможности вызова с такими аргументами...
Скомпилировался лишь такой вариант, но при этом отправляется какая-то белиберда...
Delphi
1
  idUDPClient1.Send(WaveHdr.lpData^);
Как же всетаки отослать таким же образом в delphi 2010 ?? прошу помощи, а то уже голова не соображает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 18:58
Ответы с готовыми решениями:

indy и delphi 7
Во время компиляции IndySystem70.dpk получаю ошибку ...

Delphi XE8 и Indy
Недавно начал программировать в Delphi. Скачал последнюю версию XE8, начал...

Запутался с indy и delphi 7
Вообщем сегодня поставил делфи и как оказалось в последствии в нем нет...

Delphi XE5, Indy, кириллица
Получаю контент Get запросом, кириллица отображается неверно. Многое пробовал,...

Delphi + Indy ну никак не работают
Никак не могу заставить работать indy в Delphi. Выдает ошибку, что не может...

12
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
25.04.2014, 22:27 2
Приведи сюда все варианты декларации метода TIdUDPClient.SendBuffer, в том виде как они фигурируют у тебя в Д2010.. Заодно и декларацию структуры TWaveHdr приведи ..
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
30.04.2014, 11:02  [ТС] 3
Немного не понял... я использовал только то что выше... sendbuffer вообще не удалось запустить, заработал только send, который описан в посте выше.
Сейчас в 2010 так:
Delphi
1
  idUDPClient1.Send(WaveHdr.lpData^);
А нужно как в 7, т.е. вот так или аналогично, главное чтобы работало (
Delphi
1
idUDPClient1.Sendbuffer(WaveHdr.lpData^,WaveHdr.dwBufferLength);
структура определена в файле MMSystem, он стандартный, но на всякий:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type
  PWaveHdr = ^TWaveHdr;
  {$EXTERNALSYM wavehdr_tag}
  wavehdr_tag = record
    lpData: PAnsiChar;          { pointer to locked data buffer }
    dwBufferLength: DWORD;      { length of data buffer }
    dwBytesRecorded: DWORD;     { used for input only }
    dwUser: DWORD;              { for client's use }
    dwFlags: DWORD;             { assorted flags (see defines) }
    dwLoops: DWORD;             { loop control counter }
    lpNext: PWaveHdr;           { reserved for driver }
    reserved: DWORD;            { reserved for driver }
  end;
  TWaveHdr = wavehdr_tag;
  {$EXTERNALSYM WAVEHDR}
  WAVEHDR = wavehdr_tag;
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.04.2014, 11:28 4
Цитата Сообщение от Fobes Посмотреть сообщение
Немного не понял
Я что, какие-то незнакомые тебе буквы написал ?
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
30.04.2014, 11:36  [ТС] 5
То что понял, то скинул, извиняйте уж, самоучка mss, не зайдете в аську, которая у вас в профиле указана ?
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.04.2014, 13:31 6
Я попросил привести декларации метода TIdUDPClient.SendBuffer.

Так трудно открыть TIdUDPClient.pas, найти там строчку

procedure SendBuffer(const ABuffer : TIdBytes);

и процитировать ее сюда ?
Это за пределами твоего понимания ?)

Из это строчки видно, что метод ожидает параметром данные типа TIdBytes.
Далее ищем декларацию этого типа, находим ее в TIdGlobal.pas:

TIdBytes = array of Byte;

Осознаем что метод ожидает параметром динамический массив байт.
Сравниваем с тем что мы ему тычем вместо динамического массива, чешем репу и принимаем соотв.решение)
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
30.04.2014, 20:56  [ТС] 7
Почесал, не помогло)) так как передать можно, чтобы заработало то ?
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.04.2014, 21:46 8
Цитата Сообщение от Fobes Посмотреть сообщение
не помогло
То есть про дельфийские динамические массивы ты слышишь впервые в жизни ?)
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
02.05.2014, 08:23  [ТС] 9
mss, не слышал... я пишу на си... а эту програмулю заставили сделать на делфи, так еще и клиент с сервером в разных студиях написаны... не могли бы вы показать как должно быть ? был бы очень признателен
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
03.05.2014, 22:15 10
Цитата Сообщение от Fobes Посмотреть сообщение
заставили сделать на делфи
Заставили его, видите ли ..
Кто ж тебя так обидел ?)
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
04.05.2014, 20:39  [ТС] 11
mss, универ, кто ж еще на такое способен))) писали разные люди клиент и сервер, вот теперь сиди у мучайся))) может поможете все же ? хва глумиться
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
04.05.2014, 21:43 12
Цитата Сообщение от Fobes Посмотреть сообщение
хва глумиться
Хва ныть про то какой ты несчастный !)
Никто тебя в универ за шкибок не тащил - небось сам туда пришел учиться, а не штаны протирать)

Посему открывай учебник и штудируй все касаемое динамических массивов.
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 215
04.05.2014, 21:48  [ТС] 13
я не программист... в общем лана, закрывайте тему... я не несчастный
0
04.05.2014, 21:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2014, 21:48

Не отправляется запрос Delphi (indy)
Здравствуйте. Уже не первый день немогу понять в чем ошибка. Если беру...

IdTCPServer, проблемы с Indy 10 под Delphi 7
Недавно установил Indy 10 для Delphi 7. Работаю с IdTCPServer-Client нужно...

Indy в Delphi 2009. Клиент-Сервер.
Пытаюсь написать простейшее клиент-серверное приложение по учебнику. Дело в том...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru