So Klonen Sie ein Objekt in Flex?
Möchte ich clone ein Canvas-Objekt, das enthält eine Degrafa Oberfläche mit mehreren Geometrie-Formen.
Habe ich versucht der naive Ansatz:
return ObjectUtil.copy(graph_area) as Canvas;
was zu Fehlern:
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\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:2196]
at mx.core::Container/addChild()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:2140] ...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie wollen, ist aufgerufen, eine Tiefe Kopie ist, erzeugt eine neue Instanz mit den gleichen Informationen des Originals.
Der einzige Weg, ich weiß wie es ist mit ByteArray wie folgt:
AS3 wirklich fehlt-Objekt.clone () -...
ObjectUtil
Die statische Methode ObjectUtil.copy() ist AS3 "Objekt.clone()":
Ich fand mich zu versuchen, etwas mehr wie dies leider immer noch nicht scheinen, um kopieren einer TextArea (aka UI-Objekt)...
ich hab das gleiche problem (für eine NamedEntity-Schnittstelle, die ich erstellt haben), sah für die Antwort hier, aber nur es arbeiten einen Aufruf der Methode " registerClassAlias (die nahm ich aus http://richapps.de/?p=34). Einfach so:
Ich glaube nicht, dass ObjectUtil.kopieren Sie arbeiten für das Klonen einer Leinwand.
Nach dem flex-doc :
Kopieren
Diese Methode ist speziell für das kopieren von Datenobjekten wie Elementen einer Sammlung. Es ist nicht beabsichtigt, für das kopieren von UIComponent-Objekten wie einem TextInput-Steuerelement. Wenn Sie wollen, um Kopien zu erstellen von UIComponent-Objekten, erstellen Sie eine Unterklasse der Komponente und Implementierung einer clone () - Methode oder eine andere Methode zu kopieren.