2009-04-30 7 views
1
[Bindable] private var arr_activities:Array; 
var test: _Aktivitaet; 
arr_activities = event.result as Array; 
test = arr_activities.pop() as _Aktivitaet; 

Warum bleibt der Test immer null?AS3 Array Problem

_Aktivitaet ist eine benutzerdefinierte Klasse:

package at.moschitz.topfive 
{ 
    [RemoteClass(alias="Aktivitaet")] 
    [Bindable] 
    public dynamic class _Aktivitaet extends MyEntity 
    { 
    public var AktID:int; 
    public var AktName:String; 
    public var AktMindAlter:int; 
    public var AktMaxAlter:int; 
    public var AktKategorie:_AktKategorie; 
    public var AktIsActive:Number; 
    } 
} 

Thx Martin

Antwort

1

Entweder event.result das leere Array ist "[]", oder der letzte Wert ist kein _Aktivitaet. Überprüfen Sie, ob das Dispatching-Ereignis der Methode korrekt ist.

1

statt

test = arr_activities.pop() as _Aktivitaet; 

versuchen Sie dies und sehen, welche Fehler Sie erhalten:

test = _Aktivitaet(arr_activities.pop()); 

Als Simon Buchnan sagte - Wenn das Array leer ist oder das letzte Objekt in dem Array ist kein _Aktivitaet Sie erhalten einen Null-Wert zurückgegeben - wenn Sie stattdessen werfen _Aktvitaet(arr_activities.pop()) Flash wird einen Fehler werfen, der Ihnen helfen kann, Ihr Problem zu debuggen.

0

können Sie die „Sollbruchstelle“ -Funktionalität nutzen die Variablen valule. \ N geposteten Code ist nicht vollständig zu überprüfen, für mich zu verstehen. \ N wo ist das Ereignis her? Es ist die benutzerdefinierte Ereignisklasseninstanz? \ n Was ist das Ziel der Veranstaltung?