帮忙改下,哪里出错了?该如何解决
帮忙改下,哪里出错了?XML codepackage com.fi{public class myClass{public const PI:Number3.1415926//
帮忙改下,哪里出错了?
XML codepackage com.fi{ public class myClass { public const PI:Number=3.1415926; // public function myClass()// {// } public function CalArea(r:Number):Number { return PI*r*r; } }}
定义的一个类。。
XML code<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" borderColor="#2A8CD1" themeColor="#DD2709" backgroundGradientAlphas="[0.63, 0.12]" backgroundGradientColors="[#78E50E, #1722B5]" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import com.fi.myClass; var AreaResult:Number=0; AreaResult = myClass.CalArea(10.3); myTextArea.text = AreaResult.toString(); ]]> </mx:Script> <mx:TextArea id="myTextArea" x="232" y="135"/></mx:Application>
1061: 调用可能未定义的方法 CalArea (通过 static 类型 Class 引用)。
1120: 访问的属性 AreaResult 未定义。
1120: 访问的属性 AreaResult 未定义。
1120: 访问的属性 myTextArea 未定义。
编译器提示这里错了,怎么改呢?初学Flex。。。
谢谢大家了
[解决办法] public static function CalArea(r:Number):Number
{
return PI*r*r;
}
没有这个关键字,你就不能通过类名调用方法,除非var myC:myClass = new myClass();myC.CalArea(...);
[解决办法]还有
AreaResult = myClass.CalArea(10.3);
myTextArea.text = AreaResult.toString();
这句话写在一个方法中,如:
private function init():void{
AreaResult = myClass.CalArea(10.3);
myTextArea.text = AreaResult.toString();
}
然后把该方法关联到Application的creationComplete事件上<mx:Application ..... creationComplete="init()">
[解决办法]楼上正解。