Welcome to the Official BlackBerry® Support Community Forums. This is your resource to discuss support topics with your peers, and learn from each other. New to the forum? Please visit the ‘Getting Started’ link below.
inside custom component

Adobe AIR Development

Reply
Developer
RapsFan
Posts: 383
Registered: 08-02-2010
My Carrier: Telus
Accepted Solution

QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

I created a save button and added an eventlistener to run the saveAs() when the button is clicked but I'm getting

Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

I haven't supplied any arguments.

In my 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);

...

then

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);
}


The debugger stops when the Save As button is clicked. When I use regular spark buttons I have no problem.

Please use plain text.
Developer
peter9477
Posts: 3,831
Registered: 12-08-2010
My Carrier: none

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

All event handlers will get at least the event object, so you'd have to define it as

function saveAs(e:Event):void

even if you plan to ignore the object.


Peter Hansen -- (PlayBook and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru | Get more from your battery! Power, voltage, life.
Please use plain text.
Developer
JRab
Posts: 2,387
Registered: 11-04-2010

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

Hey RapsFan,

 

Since you are calling the function as a listener on an event, its sending in the event as an argument into the function. so its almost invisible but it is being sent. Your workaround is to make a listener function that calls that save as function or just turn the save as function into a listener function like so:

 

private function saveAs(e:MouseEvent):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);
}

 good luck!

J. Rab (Blog) (Twitter)
--
1. If you liked my post or found it useful please click on the thumbs up and provide a Like!
2. If my post solved your problem please click on the Accept as Solution button. Much appreciated!

Approved Apps: OnTrack | ssShots | Hangman
Please use plain text.
Developer
RapsFan
Posts: 383
Registered: 08-02-2010
My Carrier: Telus

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

Thanks guys. Some things seem so obvious after someone else points them out :smileyhappy:

Please use plain text.
Developer
peter9477
Posts: 3,831
Registered: 12-08-2010
My Carrier: none

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

JRab mentions a good solution (wrapper function) if you need to call saveAs() from somewhere else "manually", where there would be no event.

Another option is to specify the event but give it a default of "= null", since you're ignoring it anyway. That effectively makes the event an optional parameter and you can safely use it as a listener or call it from elsewhere without having to fake the event.

Peter Hansen -- (PlayBook and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru | Get more from your battery! Power, voltage, life.
Please use plain text.
Developer
RapsFan
Posts: 383
Registered: 08-02-2010
My Carrier: Telus

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

Excellent point peter and JRab. I am calling it manually as well so I'm going to use the wrapper idea, only because I don't know how to set an event as null. Can you give an example peter?

Please use plain text.
Developer
RapsFan
Posts: 383
Registered: 08-02-2010
My Carrier: Telus

Re: QNX Buttons in Flex - Error #1063: Argument count mismatch on views::TxtView/saveAs(). Expected 0, got 1.

Ahh now I see. You can actually pass null as a parameter in place of an event!

Please use plain text.