-
Socket Delphi 2009
Bonjour
J'ai un problème avec les sockets sous Delphi 2009. J'ai télécharger cette démo http://delphipage.free.fr/programmes/sockets.zip mais quand je la test en envoyant un texte il affiche des caractère bizarre dans l'autre partie.
Quels est le problème?
Merci d'avance
Bonne journée
-
Bonjour,
Sans avoir regardé en détail le problème je dirais que le problème doit venir du fait que D2009 est maintenant en unicode par défaut alors qu'avant c'était de l'ANSI. Le problème doit donc se trouver au niveau de l'encodage des caractères ou de l'appel à des API non-Unicode ou encore à l'utilisation de PCHAR à la place de PBYTE.
-
Et comment je pourrais résoudre ce problème svp?
-
C'est un exemple très très vieux, l'unité "ScktComp" est obselète depuis au moins Delphi6 ... faut utiliser l'unités "Sockets" ou Indy, ICS, ...
Le problème que tout utilise le type String qui a changé c'est passé de ANSI à UniCode (2 octets pour chaque caractère au lieu d'un seul avec D7), si le Serveur et le Client ne sont pas dans le même CharSet, il ne pourront jamais ce comprendre ...
Remplace l'utilisation de ReceiveText et SendText par ReceiveBuf et SendBuf, et utilises le types TBytes comme variable tampon ...
-
Je vais voir du côté des composants Indy merci de votre réponse
-
Pour finir j'ai trouver un moyen asser simple en utilisant les composants ICS ça marche parfaitement.
Merci de votre aide