|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2009
Сообщений: 13
|
Плавающие ошибки при отображении ComboBox
В Flash CC2014 накидав в библиотеку нужные элементы собрал SWC. Затем подключил его к проекту в FlashDevelop. Набросал вот такой код
package com.sydoruk { import fl.controls.ComboBox; import fl.controls.ColorPicker; import flash.display.Sprite; import flash.events.Event; /** * ... * @author E.Sydoruk */ public class Main extends Sprite { private var pCBox:ComboBox = new ComboBox(); public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point this.pCBox.x = 20; this.pCBox.y = 20; this.pCBox.addItem( { label:"Test0", data:0} ); this.pCBox.addItem( { label:"Test1", data:1} ); this.pCBox.addItem( { label:"Test2", data:2} ); this.pCBox.addItem( { label:"Test3", data:3} ); this.pCBox.addItem( { label:"Test4", data:4} ); this.pCBox.addItem( { label:"Test5", data:5} ); this.pCBox.addItem( { label:"Test6", data:6} ); this.addChild(this.pCBox); } } } TypeError: Error #2007: Parameter child must be non-null. at flash.display:: DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::BaseButton/draw() at fl.core::UIComponent/drawNow() at fl.controls::ComboBox/drawLayout() at fl.controls::ComboBox/draw() at fl.core::UIComponent/callLaterDispatcher() TypeError: Error #2007: Parameter child must be non-null. at flash.display:: DisplayObjectContainer/addChildAt() at fl.controls::BaseButton/drawBackground() at fl.controls::BaseButton/draw() at fl.core::UIComponent/callLaterDispatcher() Искал и на форуме и в гугле, но внятного ответа по решению так и ненашёл. Кто пишет, что будет исправлено в следующих версиях, кто пишет, что проблема ушла сама собой. Очень надеюсь на конкретное решение. Заранее благодарен! |
|
|||||
Регистрация: Jul 2009
Сообщений: 149
|
Похоже что init срабатывает раньше чем переменной pCBox присваивается значение.
Попробуйте перенести создание экземпляра ComboBox в метод init package com.sydoruk { import fl.controls.ComboBox; import fl.controls.ColorPicker; import flash.display.Sprite; import flash.events.Event; /** * ... * @author E.Sydoruk */ public class Main extends Sprite { private var pCBox:ComboBox; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point this.pCBox = new ComboBox(); this.pCBox.x = 20; this.pCBox.y = 20; this.pCBox.addItem( { label:"Test0", data:0} ); this.pCBox.addItem( { label:"Test1", data:1} ); this.pCBox.addItem( { label:"Test2", data:2} ); this.pCBox.addItem( { label:"Test3", data:3} ); this.pCBox.addItem( { label:"Test4", data:4} ); this.pCBox.addItem( { label:"Test5", data:5} ); this.pCBox.addItem( { label:"Test6", data:6} ); this.addChild(this.pCBox); } } } |
|
|||||
Регистрация: Oct 2009
Сообщений: 13
|
Пробовал, тоже самое (((
|
|
|||||
Регистрация: Aug 2012
Сообщений: 23
|
такаяже беда с эти боксом. лечу перезапуском
|
Часовой пояс GMT +4, время: 02:32. |
|
« Предыдущая тема | Следующая тема » |
|
|