Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con Accordion y HistoryManager

Estas en el tema de Problema con Accordion y HistoryManager en el foro de Flash y Actionscript en Foros del Web. Hola a todos, Ocurrio un error en un proyecto que estoy haciendo en Flex, aca pongo un ejemplo. En el archivo principal tengo dos botones ...
  #1 (permalink)  
Antiguo 04/03/2010, 15:08
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 3 meses
Puntos: 3
Problema con Accordion y HistoryManager

Hola a todos,
Ocurrio un error en un proyecto que estoy haciendo en Flex, aca pongo un ejemplo.

En el archivo principal tengo dos botones que cambian la url de un loadermodule. El primer boton llama a un modulo llamado uno.swf y el segundo, a otro llamado dos.swf.

este es el archivo principal


Código HTML:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
	<mx:Button label="uno" click="cambiar(true)"/>
	<mx:Button label="dos" click="cambiar(false)"/>
	<mx:ModuleLoader url="uno.swf" width="100%" height="500" id="modulo"/>
	<mx:Script>
		<![CDATA[
			private function cambiar(es:Boolean):void
			{
				if(es)
					modulo.url="uno.swf";
				else
					modulo.url="dos.swf";
			}
			
		]]>
	</mx:Script>
</mx:Application> 

esto en el modulo uno

Código HTML:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="500">
	<mx:Accordion width="100%" height="300">
		<mx:Canvas label="ja">
			<mx:Label text="ja"/>
		</mx:Canvas>
		<mx:Canvas label="je">
			<mx:Label text="je"/>
		</mx:Canvas>
		<mx:Canvas label="ji">
			<mx:Label text="ji"/>
		</mx:Canvas>
	</mx:Accordion>
</mx:Module> 
esto en el modulo dos


Código HTML:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
	<mx:Label text="lll"/>
		
</mx:Module> 


Es un ejemplo simple que muestra el error que ocurre en mi proyectyo.

Cuando llamo por segunda vez al modulo uno el accordion se estropea y ya no funciona y el error que me muestra el Flex es el siguiente


Código HTML:
TypeError: Error #1034: Error de conversión forzada: no se puede convertir mx.managers::HistoryManagerImpl@49f1241 en mx.managers.IHistoryManager.
	at mx.managers::HistoryManager$/get impl()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\HistoryManager.as:96]
	at mx.managers::HistoryManager$/save()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\HistoryManager.as:157]
	at mx.containers::Accordion/commitSelectedIndex()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\containers\Accordion.as:1775]
	at mx.containers::Accordion/commitProperties()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\containers\Accordion.as:1058]
	at mx.core::UIComponent/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5807]
	at mx.managers::LayoutManager/validateProperties()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:539]
	at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:689]
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]
	at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]

Como lo resuelvo?

gracias
  #2 (permalink)  
Antiguo 05/03/2010, 16:24
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Problema con Accordion y HistoryManager

Ese error se me hace muy parecido al que tenia yo con un combobox, el cual explico en este post...
  #3 (permalink)  
Antiguo 08/03/2010, 12:52
 
Fecha de Ingreso: octubre-2004
Mensajes: 4
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Problema con Accordion y HistoryManager

Creo que hace falta colocar dónde tenes tu historyManager
  #4 (permalink)  
Antiguo 08/03/2010, 13:42
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema con Accordion y HistoryManager

Gracias provaréel codigo.

Se que el error tiene que ver con historyManager pero yo no lo he colocado en ninguna parte. Todo mi codigo es el que muestro en el ejemplo anterior. Vere si ahora se soluciona, si es asi posto la solucion.

Gracias
  #5 (permalink)  
Antiguo 11/03/2010, 13:36
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Problema con Accordion y HistoryManager

Hola a todos, se tiene que instanciar el historyManager en el parentApplication y fin del problema


Código HTML:
Ver original
  1. import mx.managers.HistoryManager;
  2. private var hstm:HistoryManager = new HistoryManager();
  #6 (permalink)  
Antiguo 11/03/2010, 17:18
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Problema con Accordion y HistoryManager

Te lo dije mi estimado era un caso similar al mio:

Cita:
Iniciado por Sergestux Ver Mensaje
Por fin encontre la solucion a mi problema y esto es agregando el siguiente codigo a la aplicacion principal desde donde se cargan los modulos:

Código actionscript:
Ver original
  1. import mx.managers.PopUpManager;
  2. private var popUp: PopUpManager;

Al parecer un problema similar surge cuando se quiere navegar en vez de modulos usando tabs.
  #7 (permalink)  
Antiguo 29/03/2010, 10:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con Accordion y HistoryManager

Diego1311!!! Muchas gracias!!!! me salvaste... tenía el mismo problema pero con el TabNavigator.
  #8 (permalink)  
Antiguo 26/05/2010, 13:13
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Problema con Accordion y HistoryManager

HOla que tal muchas gracias por la info me fui muy util, ya me registre en el foro para postear mas seguido y tratar de ayudar tambien.

Última edición por pachucoboy; 26/05/2010 a las 13:14 Razón: falta de ortografia

Etiquetas: flex, acordeon
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:30.