Isso está relacionado com o ApplicationDomain.
Por defeito as definições contidas no swf que estás a carregar estão num
aplication domain diferente da app principal.

Se quiseres manter as mm definições em ambos, podes definir qual o contexto.

var context:LoaderContext =  new LoaderContext(false,
ApplicationDomain.currentDomain);
loader.load(url,context);

2010/1/26 Carolina Torres <[email protected]>

> Olá a todos.
>
> Numa aplicação AIR estou a tentar detectar eventos vindos de um swf
> que é carregado usando um SWFLoader mas surge-me o seguinte erro:
>
> TypeError: Error #1034: Type Coercion failed: cannot convert
> mylogev...@66c67c1 to MyLogEvent.
>
> Parece que ele está a comparar uma instância de MyLogEvent à própria
> classe MyLogEvent mas não percebo porquê...
> Aqui está o modo como faço load do swf e como lhe penduro o listener
> para o evento do tipo MyLogEvent:
>
>                private function loadContent(url:String) : void
>                {
>                        var loader:SWFLoader = new SWFLoader();
>                        loader.autoLoad = false;
>                        loader.loadForCompatibility = true;
>
>                        loader.addEventListener(IOErrorEvent.IO_ERROR,
> ioErrorSWFHandler);
>
>                        loader.addEventListener(Event.COMPLETE,
> loadSWFHandler);
>                        loader.load(url)
>                }
>
>                private function loadSWFHandler(event: Event): void
>                {
>                        event.currentTarget.removeEventListener(event.type,
> arguments.callee);
>
>                        var loader:SWFLoader = SWFLoader(event.target);
>                        loader.soundTransform = new
> SoundTransform(this.soundVolume, 0);
>
>                        // Aqui penduro o listener no content do
> loader
>
>  loader.content.addEventListener(MyLogEvent.CONTENT_LOG,
> onLogEvent);
>                }
>
>                private function onLogEvent(event:MyLogEvent) : void
>                {
>                        // é aqui que tudo rebenta...
>                        trace("hello");
>                }
>
> --
> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
> Grupos do Google.
>
> Para publicar uma mensagem neste grupo, envie um e-mail para
> [email protected].
> Para anular a inscrição neste grupo, envie um e-mail para
> [email protected] <riapt%[email protected]>.
> Para ver mais opções, visite este grupo em
> http://groups.google.com/group/riapt?hl=pt-PT.
>
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

Responder a