Flex-参数计数不匹配,应为0,实际为1



我创建了一个保存按钮,并添加了一个事件侦听器来在单击按钮时运行saveAs(),但我得到了

错误#1063:视图上的参数计数不匹配:TxtView/saveAs()。应为0,实际为1。

我没有提供任何论据。

在我的init()中…

var saveAsFileBtn:IconButton = new IconButton();
                saveAsFileBtn.setIcon("../icons/saveas.png");
                saveAsFileBtn.width=100;
                saveAsFileBtn.x=saveFileBtn.width+71;
                saveAsFileBtn.sizeMode = SizeMode.BOTH;
                saveAsFileBtn.sizeUnit = SizeUnit.PIXELS    
                saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAs);

然后

private function saveAs():void 
            {
                trace("Save as");
                var fileChooser:File;
                if (currentFile)
                {
                    fileChooser = currentFile;
                }
                else
                {
                    fileChooser = File.documentsDirectory.resolvePath('untitled.html')
                }
                fileChooser.browseForSave("Save As");
                fileChooser.addEventListener(Event.SELECT, saveAsFileSelected);
            }

单击"另存为"按钮时,调试器将停止。

您的方法定义不正确。尝试:private function saveAs(event:MouseEvent):void

Flex希望事件侦听器接受导致调用它的MouseEvent。将方法定义更改为以下内容应该可以解决问题。

private function saveAs(e:MouseEvent):void  

如果从任何其他上下文调用该方法,则可以传递null作为参数。或者,您可以制作一个小型包装器方法来接收事件,并在内部调用saveAs()

saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAsWrapper);
...
private function saveAsWrapper(e:MouseEvent):void  
{
    saveAs();
}

相关内容

  • 没有找到相关文章

最新更新