Error #1069: Eigenschaft nicht gefunden und es ist kein Standardwert vorhanden

habe ein Problem mit einem Projekt an dem ich arbeite in Flash Builder.
Folgende ist meine stack-und code-Beispiel. Könnte mir bitte jemand sagen was ich falsch mache?

Vielen Dank für Ihre Zeit.

-- Stack --

ReferenceError: Error #1069: Eigenschaft page4, die nicht auf WOAPPv2 und es ist kein Standardwert.
bei WOAPPv2/dragDropHandler()[/Users/martinw/Dokumente/Adobe Flash Builder 4/WOAPPv2/src/WOAPPv2.mxml:165]
bei flash.events::EventDispatcher/dispatchEventFunction()
bei flash.events::EventDispatcher/dispatchEvent()
bei mx.core::UIComponent/dispatchEvent()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UIComponent.as:12528]
bei mx.managers.dragClasses::DragProxy/_dispatchDragEvent()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\dragClasses\DragProxy.as:374]
bei mx.managers.dragClasses::DragProxy/mouseUpHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\dragClasses\DragProxy.as:599]

--Code-Beispiel -- Das, was funktioniert

import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;

        private function initiateDrag(event:MouseEvent,value:String):void{

            var dragInitiator:Image= event.currentTarget as Image;   

            var dragSource:DragSource = new DragSource();
            dragSource.addData(value, 'value');
            DragManager.doDrag(dragInitiator, dragSource, event);
        } 

        private function dragEnterHandler(event:DragEvent):void {
            var dropTarget:VBox =event.currentTarget as VBox;
            if (event.dragSource.hasFormat('value')) {
                DragManager.acceptDragDrop(dropTarget);
            }
        }

private function dragDropHandler(event:DragEvent):void {
            var pageName:String = event.currentTarget.name as String;
            var value:String = event.dragSource.dataForFormat('value') as String;
            this[pageName].source = "assets/big/"+value; 


        }

<s>

<s:HGroup id="hGr"
              requestedColumnCount="2"
              variableColumnWidth="false"
              columnWidth="475"
              height="450"
              gap="100"
              clipAndEnableScrolling="true" paddingLeft="10" paddingRight="10">


        <mx:VBox name="page1"
                 backgroundColor="#EFEFF0"
                 verticalScrollPolicy="off" 
                 horizontalScrollPolicy="off"
                 horizontalAlign="center" verticalAlign="middle"
                 dragEnter="dragEnterHandler(event)"
                 dragDrop="dragDropHandler(event)"
                 width="475"
                 x="0">


            <mx:Image id="page1" showBusyCursor="true" width="713" height="692" scaleContent="true" maintainAspectRatio="true" minWidth="713" minHeight="692" scaleX="1" scaleY="1" horizontalAlign="center" verticalAlign="top"/>
        </mx:VBox>


    </s:HGroup>

Es Bricht Wenn ich es auf diese Weise, durch das erstellen der Container und Bilder auf Laufzeit

<script>


   private function initVars():void {
            createSpreads();
        }


        public function createSpreads():void {

            var s:VBox = new VBox();
            s.name ="page4";

            s.setStyle("backgroundColor","#fe0000"); 
            s.verticalScrollPolicy="off";
            s.horizontalScrollPolicy="off";
            s.setStyle("horizontalAlign","center");
            s.setStyle("verticalAlign","middle");
            s.addEventListener(DragEvent.DRAG_ENTER, dragEnterHandler);
            s.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);
            s.width= 475;
            s.setStyle("x","0");
            hGr.addElement(s);

            hGrCol4.text = "Vboxname: "+s.name+"VboxID: "+s.id;

            var page3:Image = new Image();
            page3.id ="page4";

            page3.showBusyCursor = true;
            page3.width = 713;
            page3.height = 692
            page3.scaleContent = true;
            page3.maintainAspectRatio = true;
            page3.minWidth = 713;
            page3.minHeight = 692;
            page3.scaleX = 1;
            page3.scaleY = 1;
            page3.source = "assets/big/IMG_7112.jpg";
            page3.setStyle("backgroundColor","#ffffff");
            page3.setStyle("horizontalAlign","center");
            page3.setStyle("verticalAlign","top");
            s.addElement(page3);

            hGrCol3.text = "Imagename: "+page3.name+"ImageID: "+page3.id;
        }


import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;

        private function initiateDrag(event:MouseEvent,value:String):void{

            var dragInitiator:Image= event.currentTarget as Image;   

            var dragSource:DragSource = new DragSource();
            dragSource.addData(value, 'value');
            DragManager.doDrag(dragInitiator, dragSource, event);
        } 

        private function dragEnterHandler(event:DragEvent):void {
            var dropTarget:VBox =event.currentTarget as VBox;
            if (event.dragSource.hasFormat('value')) {
                DragManager.acceptDragDrop(dropTarget);
            }
        }

private function dragDropHandler(event:DragEvent):void {
            var pageName:String = event.currentTarget.name as String;
            var value:String = event.dragSource.dataForFormat('value') as String;
            this[pageName].source = "assets/big/"+value; 

        }


</script>

<s>

<s:HGroup id="hGr"
              requestedColumnCount="2"
              variableColumnWidth="false"
              columnWidth="475"
              height="450"
              gap="100"
              clipAndEnableScrolling="true" paddingLeft="10" paddingRight="10">

    </s:HGroup>

</s>

Oben ohne Container in HGroup gibt die 'Eigenschaft page4, die nicht auf WOAPPv2 und es ist keine default-Wert' - Mein Ergebnis sollte sein, diese

page4.Quelle = "assets/big/imagename.jpg";

Bin ich überfragt. Im Umdenken und kann einfach erzeugen der vboxes und dann einen trigger zu setzen um das Bild zu erstellen und füllen Sie in die samedragDropHandler.
Gedanken?

Unten ist die Lösung - wieder - Dank geht an alxx. Jetzt brauche ich beitragen, mein wissen an andere Leute hier.

public function dragDropHandler(event:DragEvent):void {

        //Retrieve the Image Name from Drop
        var value:String = event.dragSource.dataForFormat('value') as String;

                    //
        event.currentTarget.getChildAt(0).source = "assets/big/"+value;

        }
  • Dude, ich kann nicht finden, 165-TEN Zeile in Ihrem code! Wo ist es? Übrigens, FB bekam sehr gute debugger, sollten Sie es verwenden.
  • OK, es muss this[pageName]. Ihre app hat keine Eigenschaft pageName (var pageName keine count - Eigenschaft Begriffen werden, das durch den Wert der Seitenname.)
  • -1. Sie können nicht nur fügen Sie Ihren code ein und erwarten von uns zu Debuggen, die es für Sie.
  • Entschuldigung. Dies ist das erste mal zu F&Ein Brett. Ich habe meine Forschung und kann nicht es herausfinden. Ich poste nur den code, der ist Schuld, das nächste mal. alxx - vielen Dank für Ihre Zeit. Ich habe versucht, die Erstellung von Eigenschaften basiert auf den adobe-Beispiele. Könnten Sie bitte geben Sie einen link oder eine Einsicht, wie man erstellen Sie eine Eigenschaft? Mein Ziel war addelement einer vbox und Bild, dass das gemeinsame Kind den Namen mit einer id und verwenden Sie den Fall zu greifen, die currenttarget-name, das Bild-Steuerelement - mit diesem[pageName] gibt den richtigen string - page4 aber Bomben aus. Soll ich Eigentum in den Erklärungen?
InformationsquelleAutor DT35 | 2011-05-17
Schreibe einen Kommentar