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

Indy UDPclient в delphi 7 и delphi 2010 - Delphi

24.04.2014, 18:58. Просмотров 2528. Ответов 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 UDPclient в delphi 7 и delphi 2010 (Delphi):

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

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

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

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

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

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

12
mss
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
25.04.2014, 22:27 #2
Приведи сюда все варианты декларации метода TIdUDPClient.SendBuffer, в том виде как они фигурируют у тебя в Д2010.. Заодно и декларацию структуры TWaveHdr приведи ..
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 212
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
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.04.2014, 11:28 #4
Цитата Сообщение от Fobes Посмотреть сообщение
Немного не понял
Я что, какие-то незнакомые тебе буквы написал ?
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 212
30.04.2014, 11:36  [ТС] #5
То что понял, то скинул, извиняйте уж, самоучка mss, не зайдете в аську, которая у вас в профиле указана ?
0
mss
2631 / 2256 / 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
Сообщений: 212
30.04.2014, 20:56  [ТС] #7
Почесал, не помогло)) так как передать можно, чтобы заработало то ?
0
mss
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
30.04.2014, 21:46 #8
Цитата Сообщение от Fobes Посмотреть сообщение
не помогло
То есть про дельфийские динамические массивы ты слышишь впервые в жизни ?)
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 212
02.05.2014, 08:23  [ТС] #9
mss, не слышал... я пишу на си... а эту програмулю заставили сделать на делфи, так еще и клиент с сервером в разных студиях написаны... не могли бы вы показать как должно быть ? был бы очень признателен
0
mss
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
03.05.2014, 22:15 #10
Цитата Сообщение от Fobes Посмотреть сообщение
заставили сделать на делфи
Заставили его, видите ли ..
Кто ж тебя так обидел ?)
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 212
04.05.2014, 20:39  [ТС] #11
mss, универ, кто ж еще на такое способен))) писали разные люди клиент и сервер, вот теперь сиди у мучайся))) может поможете все же ? хва глумиться
0
mss
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
04.05.2014, 21:43 #12
Цитата Сообщение от Fobes Посмотреть сообщение
хва глумиться
Хва ныть про то какой ты несчастный !)
Никто тебя в универ за шкибок не тащил - небось сам туда пришел учиться, а не штаны протирать)

Посему открывай учебник и штудируй все касаемое динамических массивов.
0
Fobes
16 / 16 / 5
Регистрация: 19.09.2012
Сообщений: 212
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
Привет! Вот еще темы с решениями:

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

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

Indy в Delphi XE8 - получение сообщений от сервера
Доброго дня всем! впервые прошу помощи на форуме по программирования, до...

Delphi XE7 INDY https IDHTTP авторизация win7 win8
Привет Всем. Написал приложение рассылки смс Использовал INDY idhttp и...


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

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

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