嘿, 我对我正在处理的一些Actionscript有点困惑。对于我的GUI,我已经为计算发生的时间写了四个函数。这些是showMessage(“加载文本...”),disableButtons(),clearMessage()和enableButtons()。他们在整个项目中都表现出色。 ShowMessage显示加载消息,disableButtons禁用按钮,因此无人可以点击任何内容,clearMessage在作业完成时清除加载消息,并且enableButtons将它们全部重新打开。不知道为什么我的程序似乎跳过一些功能?
出于某种原因,有一个按钮点击处理程序,这给我麻烦,我不知道为什么。我已经把它设置成与其他类似的(它们都可以工作),但是这个不显示消息或关闭我的按钮。这是我的clickHandler事件...
private function Buffer_Route_clickHandler():void
{
showMessage("Loading RBE Options");
disableButtons();
if(Buffer_Route.selected && rbeAC.length == 0){
createRbeAC();
}
}
这里是creatRbeAC功能...
private function createRbeAC():void
{
rbeAC.removeAll();
hiddenRBELayers.removeAll();
var rbeIDs:Array = rbeConfigList.getKeySet();
for each (var rbeID:int in rbeIDs)
{
var rbeConfig:Hashtable = rbeConfigList.find(rbeID) as Hashtable;
var rbeData:Object =
{
restURL:rbeConfig.find("rbeRESTURL") as String,
layername:rbeConfig.find("rbeLayerName") as String,
icon: rbeConfig.find("rbeIcon") as String,
titlefield: rbeConfig.find("rbeTitleField") as String,
checked: rbeConfig.find("rbeChecked") as String,
count: "0" as String
};
if(rbeData.checked == "false")
{
hiddenRBELayers.addItem(rbeData.layername);// as String);
}
rbeAC.addItem(rbeData);
}
}
我没有得到任何加载文本,所以我从拿出我clearMessage和enableButtons功能代码来查看它是否添加了消息并禁用了按钮。我仍然没有得到任何东西。由于clearMessage和enableButtons无法在这个按钮中找到Click处理函数或creatRbeAC函数,因此我不明白为什么加载消息和按钮没有被禁用,即使计算完成。
有些事情要注意。如果我注释掉creatRbeAC函数,则会显示加载消息并且按钮会禁用。就好像这些函数在代码中的creatRbeAC函数被忽略时一样。
任何帮助?我将不胜感激。希望我已经提供了足够的信息。