 |
Cette page est également disponible pour : WINDEV Mobile, WINDEV, WEBDEV, Etats & Requêtes
| Version affichée : |
|
| Désérialise (Fonction) En anglais : Deserialize | |
| ltChaîne0 est un tableau de 0 chaînes ltChaîne0_Cible est un tableau de 0 chaînes ltChaîne_Dyn est un tableau dynamique ltChaîne_Dyn_Cible est un tableau dynamique lbufBinaire est un Buffer Sérialise(ltChaîne0, lbufBinaire, psdBinaire) Désérialise(ltChaîne0_Cible, lbufBinaire, psdBinaire)
ltChaîne_Dyn = allouer un tableau de CST_MAX_ELEMENT_NB chaîne ltChaîne_Dyn_Cible = allouer un tableau de 0 chaîne Sérialise(ltChaîne_Dyn, lbufBinaire, psdBinaire) Désérialise(ltChaîne_Dyn_Cible, lbufBinaire, psdBinaire)
|
|
Désérialise(<Variable> , <Buffer> , <Paramètres>)
<Variable> : Type de la variable Variable de type structure, classe, tableau, file ou pile.- Dans le cas d'une structure ou d'une classe, cette variable doit être allouée.
- Dans le cas d'un tableau, d'une file ou d'une pile, cette variable est automatiquement allouée lors de la désérialisation.
La désérialisation sera effectuée dans cette variable. <Buffer> : Chaîne de caractères Ansi ou buffer Variable qui contient les données sérialisées. Il est nécessaire d'indiquer un nom de variable. <Paramètres> : Constante de type Entier Type de désérialisation (doit correspondre au type choisi pour la sérialisation) : | | | psdBinaire | Désérialisation binaire. | Versions 17 et supérieurespsdBinaireFormat16 Nouveauté 17psdBinaireFormat16 psdBinaireFormat16 | Désérialisation binaire au format compatible 16. Ce format doit être utilisé si une application en version 17 doit fournir des données à une application en version 16.
Ce format ne doit pas être utilisé en mode Unicode. | | psdXML | Désérialisation XML. |
|
|
| Désérialisation La désérialisation d'un tableau, d'une file ou d'une pile supprime le contenu de l'élément.S'il y a des membres en plus dans la structure ou dans la classe : - si on désérialise une structure ou une classe : les membres supplémentaires conservent leurs valeurs d'avant la désérialisation.
- si on désérialise un tableau de structure ou de classe : les membres supplémentaires prennent la valeur par défaut du type du membre.
S'il y a des membres en plus dans le buffer sérialisé, ils ne sont pas pris en compte lors de la désérialisation.Pour désérialiser un tableau dynamique sans type, il est nécessaire d'allouer préalablement ce tableau. Pour désérialiser une classe ou une structure contenant un tableau dynamique sans type, il est nécessaire d'allouer préalablement ce tableau. La désérialisation XML nécessite la librairie wdxxxxml.dll ou wpxxxxml.dll. Une variable de type avancé qui a été sérialisé avec un produit anglais (et dont les noms des propriétés sont en anglais dans le buffer de sérialisation) peut être désérialisée avec un produit français (et réciproquement). Dans les variables de type avancés : - les propriétés en lecture seule ne sont généralement pas désérialisables.
- les propriétés en écriture seule ne sont généralement pas sérialisables.
Les cas particuliers sont indiqués dans la documentation de chaque type. |
Rapidité La désérialisation binaire est plus rapide que la désérialisation XML. |
Limites - Les tableaux fixes et les tableaux associatifs de structures locales ne peuvent pas être désérialisés.
- Les membres globaux des classes ne sont pas sérialisés / désérialisés.
- La sérialisation / désérialisation XML d'un tableau de structures avec un membre chaîne contenant un "\0" ou Caract(0) renvoie l'erreur "Format de sérialisation incorrect". Il est nécessaire de faire une sérialisation / désérialisation binaire dans ce cas.
- Il n'est pas possible de sérialiser / désérialiser un tableau de classe ou de structure si cette classe ou cette structure contient un tableau dynamique sans type. Il est nécessaire d'utiliser un tableau dynamique typé dans cette classe ou cette structure.
- Pour sérialiser / désérialiser une classe, il est nécessaire d'avoir un constructeur avec 0 paramètre.
|
|
|
|
Liste des exemples associés :
|
Exemple unitaire (WebDev) : Sérialise/Désérialise
[ + ] Utilisation des fonctions de Sérialisation/Désérialisation Cet exemple didactique montre utiliser les fonctions WLangage Sérialise et Désérialise. La sérialisation consiste à sauvegarder une variable, un objet, une structure, un tableau ou tout autre élément dans un buffer. Ce buffer peut être ensuite sauvegardé sur disque ou envoyé par socket. Cela permet la persistance des objets. La fonction Désérialise permet de reconstruire un objet, un tableau ou une structure à partir d'un buffer.
|
|
Exemple unitaire (WinDev) : Les fonctions Sérialise/Désérialise
[ + ] Utilisation des fonctions de Sérialisation/Désérialisation Cet exemple didactique montre utiliser les fonctions WLangage Sérialise et Désérialise. La sérialisation consiste à sauvegarder une variable, un objet, une structure, un tableau ou tout autre élément dans un buffer. Ce buffer peut être ensuite sauvegardé sur disque ou envoyé par socket. Cela permet la persistance des objets. La fonction Désérialise permet de reconstruire un objet, un tableau ou une structure à partir d'un buffer.
|
|
| | | |
| |
|
Version minimum requise : 10
Communauté : 0 annotation  Connectez-vous pour ajouter une annotation | Conditions Générales du service d'annotations
| |
| |
| |  | |