Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Orientar sobre componente Shockwave (https://www.clubdelphi.com/foros/showthread.php?t=87622)

NEG1414 31-01-2015 15:24:58

Orientar sobre componente Shockwave
 
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) ...

Mis dudas son :¿ La unica manera de conseguir que la pelicula FlasH corra al mismo tiempo que se esta realizando la descarga es trabajar con hilos? si es asi podeis orientarme e indicarme el camino ha seguir (estoy pez en Hilos)...

Gracias espero haberme explicado bien.

NEG1414 02-02-2015 11:18:32

Buenas Otra vez....

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 THeread 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 TTread
    {
        __published:
        TShockwaveFlash *Pantalla:
        ……………………………….
        ………………………
  }end;
 
  __ fastcall TFlasHilo::TFlaSHilo(…):TThread(false)
    {
        Priority tpNormal;
        FreeOnTerminate  = false;
          Pantalla=new TShocwaveFlash(this);
    }
Void __fastcall TFlasHilo::Exscute()
  {
        Pantalla->Whidt  = 100;  // SE 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  “Actualizar.h” (Clase que contiene el componente TShocwaveFlash)
 
    Class FlasHilo : public TTread
    {
        ……………………………….
        ………………………
  }end;
 
  __ fastcall TFlasHilo::TFlaSHilo(…):TThread(false)
    {
        Priority tpNormal;
        FreeOnTerminate  = false;
    }
Void __fastcall TFlasHilo::Exscute()
  {
          //FActualizar es el form que Contiene EL TShocwaveFlash Pantalla
          FActualizar->Pantalla->Movie = “Http://...... . swf”; 
          Pantalla->Player();
  }

De 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 el

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 flas mientras realizo la descarga…)

Gracias…

NEG1414 09-02-2015 08:08:06

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


La franja horaria es GMT +2. Ahora son las 14:38:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi