Adobe Flex, ASP.NET MVC, Silverlight, WPF e SQL Server
Flex Erro #1034: Não é possível converter DragManagerImpl em IDragManager
Dias atrás me deparei com o erro abaixo:
Esse erro ocorria sempre ao acessar dois módulos que tivessem DataGrid com eventos de clique. Acessando o primeiro módulo, tudo funcionava perfeitamente, porém ao acessar o segundo módulo e clicar em qualquer parte da DataGrid, o erro surgia.
Após várias pesquisas acabei encontrando duas soluções.
1ª Solução:
Mude o modo de linkagem do framework para Runtime Shared Library (RSL), disponível em:
Project Properties | Flex Build Path | Library Path | Framework linkage
Conforme na imagem abaixo:
2ª solução:
Mude o Application Domain do ModuleLoader para currentDomain.
var Mod:ModuleLoader = new ModuleLoader(); Mod.applicationDomain = ApplicationDomain.currentDomain;
Pronto, utilizando qualquer uma das soluções seu projeto agora funcionará perfeitamente.
Divirta-se.
Posts similares
- Os 45 tutoriais de Adobe Flex mais procurados
- Adobe Flex: Trocar de figura no DataGrid de acordo com o DataProvider
- Modelo de consultas e relatórios ad-hoc no Adobe Flex
- Adobe Flex - Exportar Datagrid para Excel
- Adobe Flex - Criar colunas dinamicamente na DataGrid
- Mudar ícone do botão no Flex em tempo de execução
- Travar a seleção de datas anteriores a hoje no Flex
- Configurar o layout com CSS das aplicações Adobe Flex
- Palestra on-line de Flex
- Novidades para o mundo Flash e Flex
| Imprimir artigo | Este artigo foi escrito por Igor Musardo em January, 5 2010 às 8:00 am, e está arquivado em Adobe Flex. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |












há 8 meses atrás
Oi, Igor.
Será que isso não poderia ser consertado instanciando o DragManager no Application, ao invés de em um dos módulos? Sei que isso acontece com Singletons dentro do Flex.
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_2.html
“The solution is to ensure that managers such as PopUpManager and DragManager and any other shared services are defined by the main application (or loaded late into the shell’s application domain). When you promote one of those classes to the shell, the class can then be used by all modules. Typically, this is done by adding the following to a script block:”
há 8 meses atrás
Olá Gabriela,
Imagino que resolveria sim o problema. Porém no meu caso em nenhum dos módulos eu estava instanciando o DragManager, talvez o Flex tivesse instanciando automaticamente por causa do datagrid e por isso imagino que ele deveria conseguir se virar sozinho com essa responsabilidade.
Como ele não conseguiu, essa solução foi a que me resolveu o problema.
Abraços.
há 8 meses atrás
por que resolveu o problema? como?
há 8 meses atrás
Carlos, imagino que o problema seja resolvido pelo fato da forma que o Flash Player faça o gerenciamento das instâncias do DragManager dos módulos quando o framework está marcado para merged e quando está shared. E o shared talvez trabalhe de maneira correta com isso o erro não ocorra.
há 3 meses atrás
Igor, muito obrigado pelo post!!
eu estava com o exato mesmo problema e resolveu!
abraço!