Serializer un pointeur

Serializer un pointeur - Delphi/Pascal - Programmation

Marsh Posté le 12-04-2006 à 10:41:45    

Bonjour,
 
J'ai vu que l'on pouvait utiliser les poiteurs avec les signes ^ et @ mais je voullais savoir comment faire pour pouvoir serializer le pointeur et non l'obj pointé...
 
D'avance merci

Reply

Marsh Posté le 12-04-2006 à 10:41:45   

Reply

Marsh Posté le 12-04-2006 à 17:07:51    

Je ne comprend pas bien ce que tu entend par "sérialiser" dans le contexte d'un pointeur (je peut sérialiser un processus ou un object, mais un pointeur est une donnée atomique  [:airforceone] )
Si ce que tu veut, c'est la valeur du pointeur en lui mème(donc l'adresse de la variable contenue), c'est :

MonInteger := integer(MonPointeur)


Message édité par el zozo le 12-04-2006 à 17:20:22
Reply

Marsh Posté le 13-04-2006 à 11:37:51    

En fait ce pointeur pointe sur une dataGrid et j'ai besoin de serializer la référence de la datagrid vu que l'on ne peut pas serializer la datagrid elle meme...

Reply

Marsh Posté le 13-04-2006 à 14:19:49    

Donc, tu veut bien obtenir l'adresse de ta datagrid? Ou j'ai encore rien comprit? (en ce cas, explique comme si tu parlait à un débile : pour une raison ou une autre, ça devrait marcher  :D )
 
Si j'ai bien comprit, alors la methode exposé plus haut fonctionne pour tout type corespondant à 4 octect contigus(ou 2 ou 8 si tu compile en 16 ou 64 bits).
Notamment, tu peut faire ça:

Type  
  TableauDe4 :  array[0..3] of byte;
Var
  tab : TypeTab;
begin
  tab := TypeTab(MonObjet);


Après, tu te débrouille pour metre tes octects dans un tableau, un TStream, un fichier ect...
Mais bon.... Je ne vois pas très bien ce qu'on peut faire avec des pointeurs sous forme de donnée brutes.


Message édité par el zozo le 13-04-2006 à 14:45:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed