接触Flex不是很久,很多东西不是很明白。
不知道是我程序设置有问题还是为什么,我在写一个页面的时候,在页面初始化方法中尝试去访问页面中某一组件(如一个文本框),并写入值,编译时并不会有问题,但在执行时到那一句就会出问题,说空对象~
后来没有办法,为了赶进度,就临时把值存到一个变量中,然后再在把变量与页面中的元素绑定~ 变相解决~
算是留个记号吧~ 有高手看到,顺便帮我解释解释~ 谢谢哈~~
2009-10-31 补充:
经过这段时间的实践,基本明白了其中的道理:
在mxml文件的根元素定义里有两个属性:
initialize=""
creationComplete=""
第一个(initialize)所指定的函数最先执行,那时整个SWF只导入了包和定义了变量,可以对变量赋值。
而creationComplete里所指定的方法执行时则是等所有控件都初始化好了之后才执行的~ 所以这时再访问页面中的元素就不会报空了!
另外有一个要注意的就是:根元素的creationComplete方法执行是在页面中所有元素的initialize和creationComplete方法执行完毕之后才执行的!
不知道是我程序设置有问题还是为什么,我在写一个页面的时候,在页面初始化方法中尝试去访问页面中某一组件(如一个文本框),并写入值,编译时并不会有问题,但在执行时到那一句就会出问题,说空对象~
后来没有办法,为了赶进度,就临时把值存到一个变量中,然后再在把变量与页面中的元素绑定~ 变相解决~
算是留个记号吧~ 有高手看到,顺便帮我解释解释~ 谢谢哈~~
2009-10-31 补充:
经过这段时间的实践,基本明白了其中的道理:
在mxml文件的根元素定义里有两个属性:
initialize=""
creationComplete=""
第一个(initialize)所指定的函数最先执行,那时整个SWF只导入了包和定义了变量,可以对变量赋值。
而creationComplete里所指定的方法执行时则是等所有控件都初始化好了之后才执行的~ 所以这时再访问页面中的元素就不会报空了!
另外有一个要注意的就是:根元素的creationComplete方法执行是在页面中所有元素的initialize和creationComplete方法执行完毕之后才执行的!