| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Lun 02 Feb, 2015 6:37 pm Asunto: Sonbre TShockwave y thread |
|
|
Buenas
Mi idea a la hora de Actualizar una aplicacion era la siguiente:
Activar un nuevo Form "Acualizar", este contendria un componente TShockwave en el que se cargaria un movie flash que se reproduciria mientras se realizase la descarga de los archivos actualizados que se encuentran en un servidor remoto....
En principio, cargo el elemento flash desde una direccion remota perfectamente (en el evento Show del form )... yo suponia que el Componente TShockWave reproducia el elemento flash, independientemente de los procesos que se siguieran realizando..pero al parecer no es asi y la pelicula Flash solo "corre" una vez acabada la actualizacion (descargados todos los archivos del servidor) ...
Estoy intentando trabajar con un Hilo que se ocupe de la gestion de el elemento Flash (tampoco estoy muy convencido de que asi la pelicula "corra" mientra se realiza la descarga...)
En principio Me planteo dos Opciones
a) Sin muchas esperanzas (al no ser la clase THread una clase “visual” ) Crear el TShockwave y cargar la "pelicula" en la propia clase THread en tiempo de ejecucion .....
| Código: |
#Include “ShocKwaveFlashObjects_OCX.h”
Class FlasHilo : public TThread
{
__published:
TShockwaveFlash *Pantalla:
……………………………….
………………………
}end;
__ fastcall TFlasHilo::TFlaSHilo(…):TThread(false)
{
Priority tpNormal;
FreeOnTerminate = false;
Pantalla=new TShockwaveFlash(this);
}
Void __fastcall TFlasHilo::Exscute()
{
Pantalla->Whidt = 100; //BLOQUEO
Pantalla->Movie = “Http://...... . swf”;
Pantalla->Player();
} |
como esperaba al intentar visualizar (Pantalla->Whitdh = 100) la aplicacion se bloquea.
B) Cargar la película desde la clas thread…
| Código: | #Include “FActualizar”
Class FlasHilo : public TThread
{
……………………………….
………………………
}end;
__ fastcall TFlasHilo::TFlaSHilo(…):TThread(false)
{
Priority tpNormal;
FreeOnTerminate = false;
}
Void __fastcall TFlasHilo::Exscute()
{
//FActualizar: Form que contiene el TShockwaveFlash
FActualizar->Pantalla->Movie = “Http://...... . swf”;
Pantalla->Player();
} |
esta manera no DA ERROR pero NO HACE NADA.. no carga la “pelicula” en el TShocwaveFlash Pantalla del Form
En las dos Opciones ejecuto el Hilo desde
| Código: | void __fastcall TFActualizar::FormActivate(TObject *Sender)
{
TFlasHilo *Reproducir = new TFlasHilo(….);
Application->ProcessMessages();
}
|
Mi preguntas son…
¿Mis planteamientos son erroneos?? ….Si alguno no lo es… ¿que Hago mal??
¿Debo de dejar el tema ya que lo que pretendo, no es posible (ejecutar el elemento flash mientras realizo la descarga…)
Gracias… |
|
| Volver arriba |
|
 |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Lun 09 Feb, 2015 8:00 am Asunto: |
|
|
Buenas...
Al final lo he logrado.... fue tan "facil" como cambiar el plantemiento..en vez de intentar reproducir el elemento Flash en el hilo, lo que que realizo con este es la descarga, mientras que el fom "Actualizar" se ocupa de "correr" la movie...
Asi consigo lo que queria: que se reproduzca el .swf al mismo tiempo que se realiza la descarga.
Gracias |
|
| Volver arriba |
|
 |
|