[flexcoders] Interfaces in Library Projects

2007-03-31 Thread Adam Pasztory

I have a library project that gets compiled into an SWC file, and includes
shared code for several Flex Apps I'm working on.  While I can access all
the Classes within the library from Classes in my applications, Interfaces
are only accessible by other Classes within the library.  I was wondering
why this is.

For example...

Library:
Class A
Interface P

Application:
Class B extends A (this works)
Class Q implements P (this won't compile)


thanks,
Adam


Re: [flexcoders] Interfaces in Library Projects

2007-03-31 Thread Robert Cadena
Hi Adam,

It sounds like flex builder is not including your interface in the swc.

Go into your library's properties, select Flex Library Build Path on 
the left.  On the right, select the Classes tab.  Look through the 
tree and make sure that the checkbox for your interface is checked.  If 
it's not, check it. Clean the project then rebuild it.

Try rebuilding your application now, it should pick up the interface. 
You'll even see it in code hinting.

it seems that flex builder, by default, will not automatically include 
interface into the flex builder build path the way it automagically 
includes classes.  so you have to tell it to include your interface.

If you're doing this with the command line, make sure the name of the 
interface is listed in the classes argument.

If you're still stumped, add a -link-report=/[somepath]/linkreport.xml 
argument to the compiler args for your library project.  it'll spit out 
an xml file that tells lists the  classes that are linked into your lib. 
  check that your interface is listed there as a def.

Good luck.

/r
http://www.searchcoders.com/flex/?interface+library


Adam Pasztory wrote:
 I have a library project that gets compiled into an SWC file, and includes
 shared code for several Flex Apps I'm working on.  While I can access all
 the Classes within the library from Classes in my applications, Interfaces
 are only accessible by other Classes within the library.  I was wondering
 why this is.
 
 For example...
 
 Library:
 Class A
 Interface P
 
 Application:
 Class B extends A (this works)
 Class Q implements P (this won't compile)
 
 
 thanks,
 Adam