tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
655
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Pestilence Pestilence ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    75
    Hallo an alle,
    habe hier ne kleine Verständnisfrage.

    Wieso kann ich auf das Array "_imagearray" aus meiner eigenen Klasse nicht zugreifen? Innerhalb der Klasse kann ich alles wunderbar "tracen" nur wenn ich es im Flashprojekt instanziere bekomme ich ein leeres Array?!

    Hier mal der Source:

    Hier die Foldergallery Klasse (dient erstmal nur um aus einem XML ein Array zu formen)
    PHP-Code:
    package src
    {
        
    import flash.events.Event;
        
    import flash.events.EventPhase;
        
    import flash.display.MovieClip;
        
    import flash.display.Loader;
        
    import flash.net.URLRequest;
        
    import flash.net.URLLoader;
        
    import flash.events.IOErrorEvent;
        
    import flash.events.HTTPStatusEvent;
        
    import flash.events.ProgressEvent;

        public class 
    foldergallery extends MovieClip
        
    {
            public var 
    myXML:XML;
            public var 
    myXMLLoader:URLLoader = new URLLoader();
            public var 
    myXMLLoader_upd:URLLoader = new URLLoader();
            
            public var 
    _imagelist:Array = new Array();
            
            public function 
    foldergallery()
            {
                
    this.getXML();
            }
            
            public function 
    getXML() : void
            
    {
                
    //myXMLLoader_upd.load(new URLRequest("http://www.nintz.de/eve/img/foldergallery.php"));
                
    myXMLLoader.load(new URLRequest("http://www.nintz.de/eve/img/foldergallery.php"));
                
    myXMLLoader.addEventListener(Event.COMPLETEprocessXML);
            }
            
            public function 
    processXML (e:Event) : void
            
    {
                
    myXML = new XML(e.target.data);
                var 
    j:uint 0;
                
                for 
    each ( var element:XML in myXML.elements () )
                {
                    var 
    value1 String element.@name;
                    var 
    value2 String element.@width;
                    var 
    value3 String element.@height;
                    var 
    value4 String element.@size;
                    
                    if(
    j===0)
                        var 
    imageDetails1:Array = new Array(element.@imagecountelement.@urlelement.@path);
                    else
                        var 
    imageDetails2:Array = new Array(value1,value2,value3,value4);
                    
                    if(
    value1 != "" || value1 != null)
                    {
                        if(
    j===0)
                            
    _imagelist.push(imageDetails1);
                        else
                            
    _imagelist.push(imageDetails2);
                            
                        
    j++;
                    }
                }
                
    trace(_imagelist);
            }
        }

    Und so sieht es im Projekt aus, wenn ich die Klasse Instanziere und das Array tracen möchte ist es leer?!
    PHP-Code:
    import src.*

    var 
    fg:foldergallery = new foldergallery();

    trace(fg._imagelist); 
    Ich hoffe ihr könnt mir helfen, befasse mich noch nicht so lang mit AS3.

    Gruß,
    Pestilence
     

  2. #2
    Avatar von willie33
    willie33 willie33 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Ort
    USS Voyager
    Beiträge
    74
    Blog-Einträge
    5
    Hier ein Lösungsansatz:
    Richte eine funktion ein, die dir das Array imagelist zurückgibt...
    Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    [COLOR="Blue"]private[/COLOR] [COLOR="Blue"]var[/COLOR] txt:[COLOR="Blue"]String[/COLOR] = [COLOR="Blue"]new String[/COLOR]();
    [COLOR="Blue"]public static function[/COLOR] images():[COLOR="Blue"]String[/COLOR]{
         [COLOR="Blue"] for [/COLOR]([COLOR="Blue"]var[/COLOR] i:[COLOR="Blue"]int[/COLOR]; i<_imagelist.[COLOR="Blue"]length[/COLOR]; i++){
                txt = txt + _imagelist[i];
          }
          [COLOR="Blue"]return[/COLOR] txt;
    }
     
    Projects:
    Pet NG: as3pet @ github - WIP
    StrawBerry Journal for BlackBerry PlayBook (successor of My Travel Diary) - WIP
    My Travel Diary for BlackBerry PlayBook - finished

  3. #3
    Pestilence Pestilence ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    75
    Vielen Dank, werde ich gleich mal ausprobieren, ist das aber normal das man Array's nicht zurück geben kann?

    Werde mich melden wie das ganze ausging
     

Ähnliche Themen

  1. Wieso klappt dieses Script nicht?
    Von SantaCruze im Forum PHP
    Antworten: 11
    Letzter Beitrag: 11.02.07, 15:16
  2. Wieso kann ich ddas nicht so machen?
    Von Silvercreast im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 06.10.05, 07:34
  3. dieses Zertifikat kann nicht bis zu.....
    Von Brauni im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 29.09.05, 17:52
  4. Wieso kann man brushtool masken und linetool nicht?
    Von Chocobanana im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 08.11.03, 17:54
  5. Wieso kann ich nicht änder****?
    Von Breaky im Forum PHP
    Antworten: 5
    Letzter Beitrag: 23.11.01, 04:38