Comment cloner un objet en Flex?
Je veux cloner un objet Canvas, qui contient un Degrafa Surface avec plusieurs formes géométriques.
J'ai essayé l'approche naïve:
return ObjectUtil.copy(graph_area) as Canvas;
qui a entraîné des erreurs:
TypeError: Error #1034: Type Coercion failed: cannot convert Object@63b1b51 to com.degrafa.geometry.Geometry.
TypeError: Error #1034: Type Coercion failed: cannot convert Object@63b1039 to com.degrafa.geometry.Geometry.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.core::Container/addChildAt()[C:\autobuild.2.0\frameworks\projects\framework\src\mx\core\Container.as:2196]
at mx.core::Container/addChild()[C:\autobuild.2.0\frameworks\projects\framework\src\mx\core\Container.as:2140] ...
OriginalL'auteur coulix | 2009-02-19
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez est appelé une copie en profondeur, de générer une nouvelle instance avec les mêmes informations de l'original.
La seule façon que je sais comment faire, c'est à l'aide de ByteArray comme suit:
AS3 est vraiment en manque d'Objet.clone()...
Ouais, c'est à l'aide de l'AMF pour sérialiser et désérialiser l'objet.
je suis d'erreur sur ce code...Erreur: Erreur #2030: Fin de fichier a été rencontrée. au flash.utils::ByteArray/readObject()
il n'est pas de travailler sur des composants uicomponents.
La documentation dans le help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/... précise cette fonction n'est pas prévu pour les objets de l'INTERFACE utilisateur
OriginalL'auteur LiraNuna
ObjectUtil
La méthode statique ObjectUtil.copier() est AS3 "Objet.clone()":
OriginalL'auteur Fernando Briano
Je me suis retrouvé à essayer quelque chose de plus comme cela, hélas, il ne semble pas encore à la copie d'un TextArea (aka Objet d'INTERFACE utilisateur)...
OriginalL'auteur
j'ai eu le même problème (pour un NamedEntity interface que j'ai créé), a cherché la réponse ici, mais seulement ai eu de travail d'un appel à la registerClassAlias méthode (que j'ai pris d' http://richapps.de/?p=34). Juste comme ça:
OriginalL'auteur Luiz Henrique Martins Lins Rol
Je ne pense pas que ObjectUtil.copie de travail pour le clonage d'une toile.
Selon le flex doc :
Copie
Cette méthode est conçue pour la copie de données à objets, tels que des éléments d'une collection. Il n'est pas prévu pour la copie d'un objet UIComponent, comme un contrôle TextInput. Si vous voulez créer des copies de certains UIComponent objets, vous pouvez créer une sous-classe de la composante et de mettre en œuvre une méthode clone (), ou une autre méthode pour effectuer la copie.
OriginalL'auteur