Bom dia, na aplicação que estou desenvolvendo, tenho um ModuleLoader,
que ao usuário escolher uma opção no menubar ele carrega o módulo
específico.
No momento, a aplicação tem quatro módulos, a medida que escolho as
opções ele descarrega o módulo atual e carrega o módulo de acordo com
a opção.
O problema é que você pode escolher qualquer opção, mas a partir da
terceira opcao escolhida seja em qual for a ordem, ocorre o erro. Por
exemplo, executo a aplicação, escolho uma opção e carrega o módulo
correspondente normalmente, escolha outra opção e carrega o módulo
correspondente normalmente, mas quando escolho uma terceira opção ele
já dá o erro, se eu clicar em 'Continuar' ele abre o módulo, mas a
partir daí qualquer opcao que clico aparece o erro. Não existe ordem
nestas opções, em qualquer ordem, a partir da terceira vez, dá o
problema.
Código:
// Função para carregar módulos
public function CarregarModulo(modulo:String):void
{
// Antes de carregar o módulo, verifica se já existe algum módulo
// carregado, caso haja, este módulo é descarregado primeiro, antes
de
// carregar o módulo atual. Também verifica se o módulo que vai ser
carregado
// é o mesmo que já está carregado.
if (CarregadorModulos.url != modulo) // O módulo para carregar não é
o mesmo que está carregado
{
if (CarregadorModulos.url != "") // Existe algum módulo
carregado
{
CarregadorModulos.unloadModule();
CarregadorModulos.url = "";
}
// Mostra a barra de progresso
barraProgresso.visible = true;
// Carrega o módulo
CarregadorModulos.url = modulo;
CarregadorModulos.loadModule();
}
}
O erro:
TypeError: Error #1034: Falha de coerção de tipo: não é possível
converter mx.managers::historymanageri...@235e7e99 em
mx.managers.IHistoryManager.
at mx.managers::HistoryManager$/get impl()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\managers\HistoryManager.as:96]
at mx.managers::HistoryManager$/unregister()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\managers\HistoryManager.as:144]
at mx.containers::ViewStack/systemManager_removedHandler()[E:\dev
\3.0.x\frameworks\projects\framework\src\mx\containers\ViewStack.as:
1196]
at flash.display::DisplayObjectContainer/removeChild()
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::
$removeChild()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core
\UIComponent.as:4995]
at mx.core::Container/removeChild()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2272]
at mx.modules::ModuleLoader/unloadModule()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\modules\ModuleLoader.as:287]
at bandamichama/CarregarModulo()[D:\wamp\www\bandamichama\projeto_flex
\src\gc.as:42]
at bandamichama/MenuClick()[D:\wamp\www\bandamichama\projeto_flex\src
\gc.as:91]
at bandamichama/__menuPrincipal_itemClick()[D:\wamp\www\bandamichama
\projeto_flex\src\bandamichama.mxml:14]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\core\UIComponent.as:9051]
at mx.controls::MenuBar/eventHandler()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\controls\MenuBar.as:1379]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\core\UIComponent.as:9051]
at mx.controls::Menu/dispatchEvent()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\controls\Menu.as:1302]
at mx.controls::Menu/mouseUpHandler()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\controls\Menu.as:1644]
Obrigado!
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---