Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 2013
-
28 mai 2010 à 17:41
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 2013
-
3 juin 2010 à 17:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 3 juin 2010 à 17:27
autant pour moi je ne connaissais pas le MemoryStream ! merci pour l'info
cs_bigboss9
Messages postés162Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention20 juillet 2013 3 juin 2010 à 15:27
Biensur, entre : 'Ajout de la fonction de serialisation et Return NodesSerialisés, on y placera la fonction qui déserialise le tout dans NodesSerialisés.
cs_bigboss9
Messages postés162Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention20 juillet 2013 3 juin 2010 à 15:26
Non.
La sérialisation peut s'effectuer de 2 façons : En Binaire, ou en XML. (Le XML est le plus adapté pour ce genre de choses). Ensuite, la méthode de sérialisation peut s'effectuer de 2 façons : Soit avec un FileStream, ou bien un MemoryStream, pour ne pas avoir à écrire sur le disque. Donc pas de chemin à gérer, seulement un objet placé en mémoire et que l'on détruit lorsque l'on à fini. Pas besoin de classe :
Dim mTreeview as new TreeView
mTreeview.Nodes = CType(FunctionSerializeNodes(TreeViewSourceNodes), TreeNode)
Public Function FunctionSerializeNodes(TreeviewSource as TreeView) as Nodes
'Ajout de la fonction de serialisation
Return NodesSerialisés
End Function
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 2 juin 2010 à 16:43
oui en effet, mais cela implique un accés au HDD, et donc un nom de fichier + chemin, là c'est direct. Et tu dois tout de même transférer la treeview dans une classe ? ou au moins en créér une qui hérite de la treeview non ? @ te lire.
Note que ta proposition permet surtout de garder une trace sur le HDD au cas où, donc bonne infos en tout cas.
++
cs_bigboss9
Messages postés162Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention20 juillet 2013 2 juin 2010 à 15:31
Plus simple encore, et fonctionnel avec TOUT type de classe : la Sérialization. Il te suffit de sérializer Nodes() et de le déserializer dans le nouveau Treeview.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 28 mai 2010 à 17:41
salut, ceci est un snippet non ?, donc ?....
Sinon une question, le byref pour la destination je comprends mais pour la source pourquoi pas un byval ?
oui je sais j'ai encore un peu de mal avec les deux ^^
++
3 juin 2010 à 17:27
3 juin 2010 à 15:27
3 juin 2010 à 15:26
La sérialisation peut s'effectuer de 2 façons : En Binaire, ou en XML. (Le XML est le plus adapté pour ce genre de choses). Ensuite, la méthode de sérialisation peut s'effectuer de 2 façons : Soit avec un FileStream, ou bien un MemoryStream, pour ne pas avoir à écrire sur le disque. Donc pas de chemin à gérer, seulement un objet placé en mémoire et que l'on détruit lorsque l'on à fini. Pas besoin de classe :
Dim mTreeview as new TreeView
mTreeview.Nodes = CType(FunctionSerializeNodes(TreeViewSourceNodes), TreeNode)
Public Function FunctionSerializeNodes(TreeviewSource as TreeView) as Nodes
'Ajout de la fonction de serialisation
Return NodesSerialisés
End Function
2 juin 2010 à 16:43
Note que ta proposition permet surtout de garder une trace sur le HDD au cas où, donc bonne infos en tout cas.
++
2 juin 2010 à 15:31
28 mai 2010 à 17:41
Sinon une question, le byref pour la destination je comprends mais pour la source pourquoi pas un byval ?
oui je sais j'ai encore un peu de mal avec les deux ^^
++