Bonjour,
j'ai maintenant bien compris le fonctionnement (assez simple il faut l'avouer) de Send et Receive (de la librairie ICS), après avoir relu quelques tutos sur les pointeurs
J'arrive donc à envoyer tous les types de données simples, mais pas des types de ma création... du moins ça marchait avant, et je ne sais pas ce que j'ai changé et ça ne fonctionne plus ! Je pense que l'erreur se trouve dans le calcul du Buffer envoyé / reçu...
petit exemple :
-------------------------
TPerso = class
nom : string;
age : integer;
[...]
procedure envoi de données : // dans le client
var Buffer : ^TPerso
begin
Perso := TPerso.Create;
Perso.nom := 'toto';
Perso.age := 13;
Buffer^ := Perso;
SerSocket.Send(Buffer, SizeOf(Buffer));
procedure qui reçoi les données : // dans le serveur
var Buffer : ^TPerso
Socket.Receive(Buffer, SizeOf(Buffer));
ShowMessage(Buffer^.name); // erreur....
-------------------------------------------------
bien sur j'ai pris soin de faire les new(buffer) et dispose(buffer), ainsi que de détruire les objets après utilisation. J'obtiens a l'exécution des exception "Access Violation" côté serveur, dès que je tente d'accéder a un paramètre de l'objet.
J'ai essayé de spécifier Taille Du Buffer = Taille de l'objet + taille des paramètres mais ça ne marche pas mieux...
Delphicalement...
Adrien