2009-07-31 8 views

Répondre

7

Vous êtes probablement pointeur NULL à la fonction.

package 
{ 

import flash.display.Sprite; 

public class ClassTest extends Sprite 
{ 
    function ClassTest() 
    { 
     makeObject(Object); 
     makeObject(Sprite); 
     makeObject(null); 
    } 

    private function makeObject(type:Class):void 
    { 
     trace(typeof type); 
     var obj:* = new type(); 
     trace(typeof obj); 
     trace(""); 
    } 
} 

} 

Ce sorties:

object 
object 

object 
object 

object 
TypeError: Error #1007: Instantiation attempted on a non-constructor. 
    at ClassTest/makeObject() 
    at ClassTest() 
+0

merci vous m'a aidé aussi! – matthy

1

Comment passez-vous la classe à la fonction? la ligne appelante aurait dû afficher une erreur en premier lieu si la classe voulue n'était pas disponible, c'est bizarre.

pouvez-vous poster le vrai code?

ici une astuce pour charger une classe compilée dans un fichier SWF externe

var clazz:Class = this.yourLoader.contentLoaderInfo.applicationDomain.getDefinition("yourClassName") as Class; 
0

j'avais avère pas donné la police un nom de classe dans CS3. Alors oui, je passais null.

Questions connexes