Flex - несоответствие числа аргументов, ожидая 0 получил 1 - PullRequest
0 голосов
/ 23 февраля 2012

Я создал кнопку сохранения и добавил список событий для запуска 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);
            }

Отладчик останавливается при нажатии кнопки «Сохранить как».

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Flex хочет, чтобы прослушиватель событий принял MouseEvent, вызвавший его вызов.Изменение определения метода на следующее должно решить вашу проблему:

private function saveAs(e:MouseEvent):void  

Если метод вызывается из любого другого контекста, вы можете передать null в качестве параметра.В качестве альтернативы вы можете создать небольшой метод-обертку, который принимает событие и вызывает saveAs() внутри.

saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAsWrapper);
...

private function saveAsWrapper(e:MouseEvent):void  
{
    saveAs();
}
1 голос
/ 23 февраля 2012

Ваше определение метода неверно. Попробуйте: private function saveAs(event:MouseEvent):void

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...