Socket : envoyer des structures [C++ Builder] - Programmation
Marsh Posté le 29-03-2002 à 13:05:36
? normalement ca devrait passer avec un cast 
 
genre 
 
 
typedef struct 
{ 
  int truc;  
  float machin; 
}SMaStruct; 
 
SMaStruct toto; 
... 
 
SendBuf((void *)&toto..) 
 
 
 
je connais po builder ni SendBuf, mais je ne vois pas de raison qui font que tu ne pourrais pas recaster un ptr vers structure en void * 
Marsh Posté le 29-03-2002 à 14:36:18
arf c'est ce que j'ai fait mais au lieu de me faire une struct je me suis entraine avec un int  
 
 
Mais ca marche pas  
 
Marsh Posté le 29-03-2002 à 20:33:21
- Il met quoi comme erreur ? 
- Tu peux mettre un bout de code ? 
Marsh Posté le 29-03-2002 à 23:49:27
une manière simple C d'utiliser SendText et de passer des TStringList (StringList.Text) 
 
Mais je te conseille d'utiliser quand même SendBuff... (expérience perso qui C pas super bien passé avec SendText) 
  
 
Marsh Posté le 29-03-2002 à 23:51:01
| chrisbk a écrit a écrit  : ? normalement ca devrait passer avec un cast SendBuf((void *)&toto..) | 
 
Vient d'où le &  ?  
 
[jfdsdjhfuetppo]--Message édité par [SDF]Poire--[/jfdsdjhfuetppo]
Marsh Posté le 30-03-2002 à 00:08:25
Bhen pour donner l'adresse de la zone mémoire...
Marsh Posté le 30-03-2002 à 00:15:20
| antp a écrit a écrit  : Bhen pour donner l'adresse de la zone mémoire... | 
 
beh y a pas besoin la vu que toto C 1 structure. 
SendBuf((void *)toto..) je pense.... 
(fatigué alors soyez indulgents  )
 ) 
Marsh Posté le 30-03-2002 à 01:16:28
Heu possible... je suis fatigué aussi  
 
Marsh Posté le 30-03-2002 à 02:28:38
| [SDF]Poire a écrit a écrit  : beh y a pas besoin la vu que toto C 1 structure. SendBuf((void *)toto..) je pense.... (fatigué alors soyez indulgents  ) | 
 
 
 
nan  
 
 
ca va etre le drame si tu fais ca 
 
 
observons ! 
 
si jamais j'ai 
 
typedef struct 
{ 
 int a: 
 int b; 
}SBidule 
 
 
et  
 
SBidule c; 
c.a = 20; 
c.b = 30; 
 
SnedBuff((void *)toto..) 
 
bon 
1) la on demande au compilo de caster un truc qui fait 8o en un truc qui en fait 4 . y risque de gueuler 
  
2) mettons il le fait . que va t'il chopper ? non pas l'adresse de la structure (qui s'obtient par &c), mais les 4 premiers octet de la structure (soit a, soit 20) 
 
 
et il va faire sa copie a partir de l'adresse 20  
 
 
drame en perspective  
 
Marsh Posté le 30-03-2002 à 11:05:18
| Le compilateur va écrire a écrit  : Access violation. Read at address 00000014. | 
 
 
Message classique de Builder/Delphi  
 
(14 = 20 en hexa) 
[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]
Marsh Posté le 29-03-2002 à 11:57:44
Voila j'me suis fait un p'tit chat tranquille, j'arrive a envoyer du texte, mais je sais pas comment envoyer des structures (avec pseudo, numero client, etc...).
J'arrive pas a utiliser la fonction SendBuf.
Elle prend un void * en parametre. Mais je veux pas mettre un void * (marche pas avec un cast
merci.
---------------
Super.