Flex反射动态加载类的问题"ReferenceError: Error #1065: 变量 "类名" 未定义"

时间:2021-11-02 09:30:57
我有一些外部工程里面的类(如:类com.aa.bb.WinSample),这些类都会继成我主程序的一个基类,写好后打成swc包,放在我这个主程序的lib下引用,同时他们开发完后会把所写的类名(全名)写在我主程序下的一个XML配置文件里面(我在开发的过程中是不知道他们的类及类名的)。
所以我写了一个方法,从xml里面读出所有的类名来,然后用反射加载他们的类(动态实例化这些类,存到一个ArrayList里面),因为我想既然这些类都已经继成了我的一个基类了,那我下来想要调用某个指定类的方法时,我只需要调用我这个基类的方法就行了。
现在的问题是:后台老是报"ReferenceError: Error #1065: 变量 WinSample 未定义。"

我知道,如果我事先知道他们的类名的话,我可以在编程的过程中在类里面显示去声明这些类(写一个木偶变量),这样再通过反射加载就没会出问题。麻烦的是,我现在事先并不知道人家的类名,所以我没办法在类里声明这些类。

大家有什么解决方案么,或者可以用另一种方式来实现我这个目的也行,谢谢大家哈。

8 个解决方案

#1


子类中的方法都重写你基类的方法了?
那你调父类的方法应该不会有问题啊!这是java中多态虚方法调用的概念
ReferenceError: Error #1065: 变量 WinSample 未定义
你试着右键工程目录properties,设置下Project Reference应该可以解决
以前我也碰到类似的错误,O(∩_∩)O

#2


leemiki, 你说的对,这些子类都已经重写了父类的方法了,我也这么想,到时我只需要调用这个父类的方法应该就可以了,可是偏偏出现那个Error #1065的错,郁闷极了...
我也试着按你说的在工程目录properties设置了Project Refernce,可惜老天欺负我,还是和原来一样会报错  -.=!!

不知道大家还有没有什么办法?

#3


Flex的反射有点假,你必须先声明一下才能反射的到。
比如你的WinSample,你先在你的App里声明一下,var ws:WinSample = null,你看之后是不是就能反射出来了

#4


这个方法的问题很多
如果我要是知道这个类名的话,我也就不用反射了
关键是不知道类名,还要让我定义一下,这不是为难人么。

#5


引用 4 楼 tigers1 的回复:
这个方法的问题很多
如果我要是知道这个类名的话,我也就不用反射了
关键是不知道类名,还要让我定义一下,这不是为难人么。


哈哈,9494

trigers1 说的是,我现在就是被这个问题所困扰。我要是知道这个类名的话我还用得着反射干嘛~~~
可关键就是flex的反射就一定要先定义一下这个类名(写一个木偶变量),所以fuyiyong 你这个问题我在前面说过了,不可以这样子。
shit... Flex的这个是什么反射呀,搞不懂 - . -!

#6


AjaxPro

#7


我也遇到了同样的问题

#8


flex实现真正的反射必须先定义变量。。

#1


子类中的方法都重写你基类的方法了?
那你调父类的方法应该不会有问题啊!这是java中多态虚方法调用的概念
ReferenceError: Error #1065: 变量 WinSample 未定义
你试着右键工程目录properties,设置下Project Reference应该可以解决
以前我也碰到类似的错误,O(∩_∩)O

#2


leemiki, 你说的对,这些子类都已经重写了父类的方法了,我也这么想,到时我只需要调用这个父类的方法应该就可以了,可是偏偏出现那个Error #1065的错,郁闷极了...
我也试着按你说的在工程目录properties设置了Project Refernce,可惜老天欺负我,还是和原来一样会报错  -.=!!

不知道大家还有没有什么办法?

#3


Flex的反射有点假,你必须先声明一下才能反射的到。
比如你的WinSample,你先在你的App里声明一下,var ws:WinSample = null,你看之后是不是就能反射出来了

#4


这个方法的问题很多
如果我要是知道这个类名的话,我也就不用反射了
关键是不知道类名,还要让我定义一下,这不是为难人么。

#5


引用 4 楼 tigers1 的回复:
这个方法的问题很多
如果我要是知道这个类名的话,我也就不用反射了
关键是不知道类名,还要让我定义一下,这不是为难人么。


哈哈,9494

trigers1 说的是,我现在就是被这个问题所困扰。我要是知道这个类名的话我还用得着反射干嘛~~~
可关键就是flex的反射就一定要先定义一下这个类名(写一个木偶变量),所以fuyiyong 你这个问题我在前面说过了,不可以这样子。
shit... Flex的这个是什么反射呀,搞不懂 - . -!

#6


AjaxPro

#7


我也遇到了同样的问题

#8


flex实现真正的反射必须先定义变量。。