Visual Basic.NET - Parpadeos

 
Vista:

Parpadeos

Publicado por soledad (1 intervención) el 17/02/2009 08:53:08
Hola tengo un problema con la aplicación que estoy desarrollando, espero que me podais ayudar:

Actualmente tenemos una aplicación Web (llamada NEO) que esta dividida en 7 partes lógica. 6 de ellas están implementadas con jsps, jpfs y javascript. La otra es un applet que contiene el grueso de las operativas de la aplicación.

Por otro lado existe una aplicación anterior que contiene todas las demás operativas que todavía no se han migrado a NEO. Dicha aplicación por lo que sé está implementada en VB6. Dicha aplicación se llama Delfos.

Debido a que el cliente quería integrar visualmente ambas aplicaciones para dar la sensación de que existe una sola se ha desarrollado una tercera aplicación en .NET (llamada NEOLauncher) que realiza dicha integración. Para ello utiliza el componente WebBrowser de .NET en el que carga la aplicación Web. Mediante funciones de API de Windows “user32.dll”, localizo el proceso de la aplicación VB y lo cuelgo del Window Handle del proceso principal (el del componente .NET que ejecuta la aplicación Web). Posteriormente y con más funciones del API “user32.dll” se controla el posicionamiento de las dos aplicaciones (NEO y Delfos) para generar el efecto visual de una sola.

El problema es que cuando el usuario lleva un tiempo trabajando sin realizar ninguna operativa concreta la aplicación Web empieza a parpadear impidiendo trabajar al usuario y obligándole a reiniciar. La manera en que yo he conseguido reproducir dicho efecto ha sido realizando las siguientes operaciones.

· Inicio una operativa de la aplicación Web.

· Antes de que dicha operativa termine inicio una operativa de la aplicación VB.

· Esto provoca que la primera aplicación no termine de pintar una de sus secciones lógicas Web al perder el foco de ejecución.

· Cierro la operativa de la aplicación VB y provoco un “Refresh” (F5) para que la sección que antes no se había podido pintar pueda hacerlo.

· De este modo consigo otra vez tener un estado consistente de la información que se hubiera conseguido si no hubiera interrumpido el proceso en el paso 2.

· Repito este proceso una y otra vez hasta que voy observando una “degradación” paulatina de la aplicación Web y finalmente consigo el parpadeo.

El proceso .NET que integra y gestiona ambas aplicaciones consume entre 200 y 300 MB de memoria física y entre 300 y 400 de memoria virtual.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder