Salut à tous,

Je travaille actuellement sur une application serveur/client en UDP permettant d'échanger des chaines de caractères. J'ai trouvé une source faite par Didier Cabale qui normalement devrait marcher avec Indy 10 mais chez moi elle ne marche pas, Delphi me plante une erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
procedure TUDPMainForm.UDPServerUDPRead(AThread: TIdUDPListenerThread;
  AData: TIdBytes; ABinding: TIdSocketHandle);
var
  Buffer : String;
  Buf : TBytes;
begin
    UDPMemo.Lines.Add('Received "' + String(AData) + '" from ' + ABinding.PeerIP + ' on port ' + IntToStr(ABinding.PeerPort));
    Buffer := 'Replied from ' + ServerName + ' to "' + String(AData) + '"';
  (1)  //ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, TIdBytes(Buffer), ABinding.IPVersion);
   (2) //ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, TIdBytes(Buffer));
end;
La ligne (1) est le code tel qu'il est donné dans la source ; or la fonction ABinding.SendTo ne prend que 3 arguments en paramètres et non 4, donc Delphi me plante une erreur.
La ligne (2) est la ligne (1) mais modifié à ma sauce, malheureusement cela ne marche pas...

Pour info, dans la version 9 d'Indy, il y a 4 paramètres, dont les deux derniers sont un char et un int donc apparement il faudrait savoir comment passer d'un char et d'un int à un TBytes.
Auriez-vous une solution ?
Quelqu'un utilise t-il les composants Indy 10 ?

Config : Delphi 2005 & Indy 10.

Merci d'avance