Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Вниз

Вопрос про передачу UDP инди 10.   Найти похожие ветки 

 
vegarulez ©   (2008-03-19 19:35) [0]

Привет всем мастерам!
Вопрос такого характера. Раньше использовал инди 8 и там передавал ответ сообщение UDP сервера на UDP клиент вот таким образом:


procedure TfrmPing.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);
var
 DataStringStream: TStringStream;
 s:string;
begin
 DataStringStream := TStringStream.Create("");
 try
  DataStringStream.CopyFrom(AData, AData.Size);
  Label2.Caption:=DataStringStream.DataString;
  s :="тест" + Label2.Caption;
  ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));
 except on E:Exception do Exit ;
 end;
end;


Сечас поставил инди 10 и при компиляции выдаёт ошибку. Т.к. в 10-ом инди формат параметров sendto стал другим (наводя мышкой показывает, что параметры передаваемые в процедуру должны быть такими):

procedure SendTo(const AIP: string; const APort: Integer; const ABuffer: TBytes; const AIPVersion: TIdIpVersion= Id_IPv4);

Подскажите как быть с передачей буфера - ABuffer.
Не знаю что такое TBytes?  
И как, s -  стринговую, преобразовать TBytes?


 
Сергей М. ©   (2008-03-19 19:40) [1]


> Не знаю что такое TBytes
</>

Возьми да узнай.
Исходники-то открыты, да и прямо перед носом они)


 
vegarulez ©   (2008-03-19 19:43) [2]

TBytes нет в хелпе... (
Деж тада смотреть ? подскажи...


 
Сергей М. ©   (2008-03-19 19:46) [3]


> Деж тада смотреть ? подскажи


В исходных текстах, сказано же ..


 
vegarulez ©   (2008-03-20 06:07) [4]

В исходных текстах чего? Я же привёл исходный текст, который на 8-ом инди успешно работает, там ни слова о Tbytes... не пойму тя...


 
Сергей М. ©   (2008-03-20 08:25) [5]


> В исходных текстах чего?


Инди 10-й версии, чего же еще ?

Сам же сказал - "поставил инди 10"


 
Сергей М. ©   (2008-03-20 08:45) [6]

У меня 10-ка не установлена, но полагаю, что
TBytes = array of Byte


 
vegarulez ©   (2008-03-20 11:25) [7]

у меня D7 там хелп от девятых индейцев... там не то...
при нажатии контролом на sendto в IdSocketHandlе вот такой код отправки

procedure TIdSocketHandle.SendTo(const AIP: string; const APort: Integer; const ABuffer : TIdBytes; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION);
begin
 GStack.SendTo(Handle, ABuffer, 0, AIP, APort,AIPVersion);
end;

попробую с Array of Byte.


 
vegarulez ©   (2008-03-21 07:27) [8]

Сечас вообще просто начал с нуля. Кинул на форму тока один UDPServer
и нажал на OnUDPRead - создал процедуру пустую:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer;

type
 TForm1 = class(TForm)
   IdUDPServer1: TIdUDPServer;
   procedure IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
     ABinding: TIdSocketHandle);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
 ABinding: TIdSocketHandle);
begin
;
end;

end.


И при компиляции пишет: дескать не знаю, что такое TBytes - в самом описании процедуры - в блоке types.

Подскажите как быть?..


 
vegarulez ©   (2008-03-21 07:29) [9]

*в блоке type


 
Сергей М. ©   (2008-03-21 08:17) [10]


> vegarulez


Ну ты исходники-то индейские обшарил или нет ?
Хочешь сказать, что тип TBytes не объявлен ни в одном из евойных юнитов ?

Глубоко в этом сомневаюсь)

Тогда пробуй объявить сам

type

TBytes = array of Byte;


 
korneley ©   (2008-03-21 08:36) [11]

юнит - IdGlobal, а тип, как и говорил Сергей М. TBytes = array of Byte;


 
vegarulez ©   (2008-03-21 09:24) [12]

Сергей М. ©   (20.03.08 08:45) [6], korneley ©   (21.03.08 08:36) [11]
Полностью с вами согласен. У меня просто почему-то Idglobal не добавлялся сам автоматом в Юзес...

Сечас полазил на сайтах индейцев. Скачал пару примерчиков на 10-ых индюках. Вопрос решился. Спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
15-1204204894
Виталий Панасенко(дом)
2008-02-28 16:21
2008.04.13
Механизм переоценки мат.ценностей(товара)


15-1204178474
SteepeWolf
2008-02-28 09:01
2008.04.13
Восстановление данных


2-1205522486
DJ_UZer
2008-03-14 22:21
2008.04.13
Подсветка в richedite


2-1205902866
snake-as
2008-03-19 08:01
2008.04.13
Проблема с канвасом


2-1205950865
Alex_C
2008-03-19 21:21
2008.04.13
Сохранение св-ва компонента





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский