PDA

View Full Version : "Interface method set contextMenu is implemented with an incompatible signature"???


Elias_Maluco
10-24-2007, 07:07 PM
Hi all. Im in need of help for a strange issue here Im having here, maybe some of you experts can give me a light.

For a project Im working on, I had to create interfaces to the main flash.display classes (becouse of a custom interface which had to extend Sprite). So I created the interfaces using the "Implementation" info found at the Flash documentation.

It was all working perfectlly until today, when I installed the "Air" beta extension for Flash CS3. Now, when I compile, Im getting this:

1144: Interface method set contextMenu in namespace dba.common:IInteractiveObject is implemented with an incompatible signature in class dba.common:ListBox.

and

1144: Interface method get contextMenu in namespace dba.common:IInteractiveObject is implemented with an incompatible signature in class dba.common:ListBox.

My "IInteractiveObject.as" interface defines those properties like this:


function get contextMenu():ContextMenu
function set contextMenu(value:ContextMenu):void


and, according to the help files, the implementation of it on the InteractiveObject class is:


public function get contextMenu():ContextMenu
public function set contextMenu(value:ContextMenu):void


And that "dba.common.ListBox" class at the error message simply extends Sprite, its implementations of the property "set" and "get" are the ones implemented by InteractiveObject. So, it matches. No "incompatible signature" at all.

Whats wrong then? Did the InteractiveObject class changed after I installed the Air extension? There is nothing on the docs about it. Anyone has a clue about what is happening here? A new bug, maybe?