![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2007
Сообщений: 213
|
Хочу, чтоб, когда выбираю первый элемент Комбобокса, появлялось окошко Алерт с кнопкой ОК.
Почему выдает ошибку типа "безконечная рекурсия"? import mx.controls.Alert;
var cbListener:Object = new Object();
combo.addItem ({label:"none", data:0});
combo.addItem ({label:"a", data:1});
cbListener.change = function(event_obj:Object)
{
var ob=event_obj.target.selectedItem.data;
if(ob==0)
{
Alert.show("...must be >0","Warning", Alert.OK);
}
};
combo.addEventListener("change", cbListener);
|
|
|||||
|
не поверите, вставил, все работает...
и ошибок тут не нахожу...
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
4AM Games
|
чертовщина какая то, если вызвать Alert из обработчика событий получается глюк.
import mx.controls.Alert;
import mx.controls.ComboBox;
var interval:Number;
function onComboBoxChange(event:Object):Void
{
var target:ComboBox = ComboBox(event.target);
if(!Number(target.selectedItem.data))
{
interval = setInterval(showWarning, 1);
}
}
function showWarning():Void
{
Alert.show("Data is not big enough", "Warning");
clearInterval(interval);
}
comboBox.addItem({label:"Hello", data:0});
comboBox.addItem({label:"World", data:1});
comboBox.addEventListener("change", onComboBoxChange);
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
а ну я пробовал под МХ запустить,
восьмерка есь но щаз МХ открыт ![]() да в 8 мне вот такую загогулину выдало: "Failed to create a new alert, probably because there is no Alert in the Library" хотя он там есть ![]()
__________________
"We Are The Champions My Friends!" Queen Последний раз редактировалось CorC; 30.01.2007 в 10:38. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Почему бы не залезть внутрь компонентов и посмотреть?
|
|
|||||
|
4AM Games
|
Цитата:
только когда мне заплатят=)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Не, зачем, просто проанализировать и узнать, откуда она. А секрет продавать
![]() |
|
|||||
|
4AM Games
|
Кстати глюк присутствует только в ComboBox.
я попробывал Button, List они работают нормально. Ошибка должно быть в этом методе. //mx.controls.ComboBox
function _changeHandler(obj) : Void
{
var o = this.owner; // 'this' is the dropdown; 'o' is the combobox
var prevValue = o.selectedIndex;
obj.target = o;
if (this == this.owner.text_mc)
{
o.selectedIndex = undefined;
o.dispatchChangeEvent(obj,-1,-2); // Force a change event to be dispatched
}
else
{
// This assignment will also assign the label to the text field. See setSelectedIndex().
o.selectedIndex = selectedIndex;
// If this was generated by the dropdown as a result of a keystroke, it is
// likely a Page-Up or Page-Down, or Arrow-Up or Arrow-Down. If the selection
// changes due to a keystroke, we leave the dropdown displayed. If it changes
// as a result of a mouse selection, we close the dropdown.
if (!o._showingDropdown)
{
o.dispatchChangeEvent(obj,prevValue, o.selectedIndex);
} else if (!o.bInKeyDown) {
o.displayDropdown(false);
//o.dispatchChangeEvent(obj,-1, o.selectedIndex);
}
}
//o.dispatchEvent(obj);
}
function dispatchChangeEvent(obj,prevValue,newValue)
{
var eventObj:Object;
//trace(obj.type + " " + prevValue + " " + newValue);
if (prevValue != newValue)
{
if (obj != undefined && obj.type == "change")
{
eventObj = obj;
}
else
{
eventObj = {type:"change"};
}
//eventObj.prevValue = prevValue;
//eventObj.newValue = newValue;
dispatchEvent(eventObj);
}
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:50. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|