When compiling <import> libraries for swf10, the compiler does things in a slightly different order than the other runtimes. It compiles the main app first, so that the classes there are emitted to a tmp directory as intermediate as3 classes, and then it compiles each <import> library against that directory , so that it can resolve any references to those classes, which will be external to the library.
One thing it was not designed to support explicitly was defining a class in one <import> library and then subclassing it in another library. Unfortunately you get subclasses being made for you all over the place very easily now, because the compiler generates a new anonymous subclass whenever you have an instance with a method or constraint or new attribute on it. Could that be what is happening? Do you have a base class defined in one <import> library and then an instance of that class being used in another <import> library, which might be generating an anonymous subclass? On Wed, Jul 28, 2010 at 12:25 PM, Ryan Maslar <[email protected]> wrote: > That's the kicker. I built a small test case and it compiles fine. I'm > starting to wonder if it could be memory issues. My understanding was that > compilation is sequential. If that's the case the classes should be > available. Hell, I would think they should be available if they're in the > import file as well. > > > On 7/28/2010 12:19 PM, Henry Minsky wrote: > > If you are able to build a small test case you can send me, I could try to > track it down. > > If you aren't able to reduce this to get a small test case, we can try some > other approaches. > > > On Wed, Jul 28, 2010 at 12:08 PM, Ryan Maslar <[email protected]>wrote: > >> It happens in swf10. swf8 compiles fine. I've even tried duplicating the >> classes in the import library file (obviously with slightly different names) >> and it still get a class definition not found. Any way this could be a >> memory issue? I've tried doing cache clears with no change. >> >> Ryan >> >> >> On 7/28/2010 12:04 PM, Henry Minsky wrote: >> >> Which runtime are you compiling for? Does this happen in more than one >> runtime? >> >> On Wed, Jul 28, 2010 at 10:54 AM, Ryan Maslar <[email protected]>wrote: >> >>> Ok, so I grabbed the 5.0.x nightly on the 27th as I was seeing some weird >>> compiler issues. After installing and transferring my code over, every class >>> instance I have in a stage=late import file says it can't find the class >>> definition. The compiler errors look like this: >>> >>> org.openlaszlo.sc.CompilerError: resources/plugin_library.lzx: 132: >>> Error: The definition of base class $lzc$class_deviceComboAct was not found, >>> in line: dynamic class $lzc$class_m15374 extends $lzc$class_deviceComboAct { >>> >>> This class is defined in a compiled-in library file that is included >>> before the import statement. 'plugin_library.lzx' is the imported file. The >>> code in the imported file that apparently triggers the compiler error would >>> look like this. >>> >>> <library> >>> <class name="testClass"> >>> <deviceComboAct /> >>> </class> >>> </library> >>> >>> I can't seem to replicate with a test application that is set up exactly >>> the same way as the application having the issue. What I would like to know >>> is if anyone has absolutely any clue why this would be an issue when it >>> wasn't occurring in a previous nightly build of 5.0.x. >>> >>> As always I appreciate the help. >>> -- >>> Ryan Maslar >>> >> >> >> >> -- >> Henry Minsky >> Software Architect >> [email protected] >> >> >> > > > -- > Henry Minsky > Software Architect > [email protected] > > > -- Henry Minsky Software Architect [email protected]
