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]

Reply via email to