You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Left Right <ol...@gmail.com> on 2014/12/30 16:03:11 UTC

Falcon linking resources to ByteArray (rather than display objects)

I'm getting an error:

TypeError: Error #2022: Class PlayerResource$ must inherit from
DisplayObject to link to a symbol.

for the class, which looks like this:

package com.powtoon.assets
{
    import flash.utils.ByteArray;

    [Embed(source="../../../../assets/hx-player.swf",
mimeType="application/octet-stream")]

    public class PlayerResource extends ByteArray { }
}

When this is compiled with Falcon, this must be incorrectly linked to
a (wrong kind of) symbol?

The relevant bit of the Ant build script looks like this:

<mxmlc file="${basedir}/as3/com/powtoon/preloader/PreloaderFrame.as"
           output="${basedir}/bin/player-next.swf"
           static-link-runtime-shared-libraries="true"
           debug="${debug}" use-network="true"
           warn-unlikely-function-value="false"
           optimize="true">
      <frame label="start" classname="com.powtoon.player.PlayerNext"/>
      <includes>com.powtoon.assets.PlayerResource</includes>

Best,

Oleg

Re: Falcon linking resources to ByteArray (rather than display objects)

Posted by Left Right <ol...@gmail.com>.
In addition to this, when linking symbols from other SWFs, the
generated code must be incorrectly generated. The class below:

package com.powtoon.assets
{
    import flash.display.Sprite;

    [Embed(source="../../../../assets/WistiaPlayer2.swf",
        symbol="com.powtoon.assets.Scrubber")]

    public class HandleButton extends Sprite { }
}

When instantiated ends up in:

Error: Error #1023: Stack overflow occurred.
at flash.display::Shape()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at com.powtoon.assets::HandleButton()
at com.powtoon.ui::Stylable/ensureProperty()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:710]
at com.powtoon.ui::Stylable/create()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:349]
at com.powtoon.ui::ScrubberPanel/create()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/ScrubberPanel.as:251]
at com.powtoon.ui::ExtendedPresentationPanel/create()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/ExtendedPresentationPanel.as:207]
at com.powtoon.player::PlayerBase/setupSkin()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/player/PlayerBase.as:594]
at com.powtoon.ui::Stylable/tryCreateDescription()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:440]
at com.powtoon.ui::Stylable/loadDescriptionClass()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:473]
at com.powtoon.ui::Stylable/loadDescriptionString()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:422]
at com.powtoon.ui::Stylable/loadDescription()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/ui/Stylable.as:390]
at com.powtoon.player::PlayerBase/createSkin()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/player/PlayerBase.as:552]
at com.powtoon.player::PlayerNext/payloadComplete()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/player/PlayerNext.as:229]
at com.powtoon.utils::Conveyor/handler()[/home/wvxvw/workspace/hx-player/player/as3/com/powtoon/utils/Conveyor.as:129]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.powtoon.player::PTPlayer/completeHandler()[../src/com/powtoon/player/PTPlayer.hx:330]

Which looks like the generated code tries to call the constructor recursively...

Best,
Oleg

On Tue, Dec 30, 2014 at 5:03 PM, Left Right <ol...@gmail.com> wrote:
> I'm getting an error:
>
> TypeError: Error #2022: Class PlayerResource$ must inherit from
> DisplayObject to link to a symbol.
>
> for the class, which looks like this:
>
> package com.powtoon.assets
> {
>     import flash.utils.ByteArray;
>
>     [Embed(source="../../../../assets/hx-player.swf",
> mimeType="application/octet-stream")]
>
>     public class PlayerResource extends ByteArray { }
> }
>
> When this is compiled with Falcon, this must be incorrectly linked to
> a (wrong kind of) symbol?
>
> The relevant bit of the Ant build script looks like this:
>
> <mxmlc file="${basedir}/as3/com/powtoon/preloader/PreloaderFrame.as"
>            output="${basedir}/bin/player-next.swf"
>            static-link-runtime-shared-libraries="true"
>            debug="${debug}" use-network="true"
>            warn-unlikely-function-value="false"
>            optimize="true">
>       <frame label="start" classname="com.powtoon.player.PlayerNext"/>
>       <includes>com.powtoon.assets.PlayerResource</includes>
>
> Best,
>
> Oleg