Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2009
Avatar de cirilungol
cirilungol cirilungol is offline
Miembro
 
Registrado: feb 2006
Posts: 42
Poder: 0
cirilungol Va por buen camino
Question Manejar Objetos por funciones

Hola buenas Gurues del Delphi.


Tengo una duda, he vuelto a las andadas de la programación delphi y lo que antaño sabia hacer muy bien ahora ni me acuerdo... weno me da errores

Tengo la intención de crear una funcion en la cual le pase una variable de tipo TMovieplaye.

En esta función lo que quiero es llamarla tantas veces como me sea preciso, pero que el objeto se libere y se cree cuando le llame.

vendria a ser:


Código Delphi [-]
procedure tform1.VideoPlay(sVideo: TMovieplayer);
begin
   
   //Liberar el objeto... aunque no se si aqui sería correcto
   //Aqui es donde se supone que tendria que cargar el objeto
   //(objeto as TMovieplayer)....vago recuerdo el mio

   with objeto do 
   begin
        show;
        //El openSync deja el video en marcha hasta que finalice, no hará otra acción pero si que recorre codigo... 
        OpenSync;
   end;

end;


weno no se si me he podido explicar con toda claridad pero toda ayuda es buena, por muy pequeña que pueda ser.

muchas gracias por leerme!!!!!
Responder Con Cita
  #2  
Antiguo 12-02-2009
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Bueno... Sí... No entiendo muy bien porqué querrías hacer lo que yo entiendo que querés hacer... Pero:

Código Delphi [-]
procedure  TForm1.VideoPlay(var sVideo: TVideoPlayer);
begin
  if Assigned(sVideo) then
    begin
    sVideo.Free;
    sVideo:= TVideoPlayer.Create;
    with sVideo do
      begin
      Show;
      OpenSync;      
      end;
    end;
end;

No sé si TVideoPlayer.Create recibirá parámetros...

En fin, sVideo está asignado, esto es, si está instanciado, se destruye y se vuelve a crear.

Espero sea eso lo que decías.

Saludongos.
Responder Con Cita
  #3  
Antiguo 16-02-2009
Avatar de cirilungol
cirilungol cirilungol is offline
Miembro
 
Registrado: feb 2006
Posts: 42
Poder: 0
cirilungol Va por buen camino
Gracias por contestar,

Código Delphi [-]
    sVideo.Free;
    sVideo:= TVideoPlayer.Create;

esta parte la tenia mas o menos clara, pero lo que me falta es pasar y cargar ese
Código:
 svideo
mediante una funcion ya que puede darse que pida diferentes vidios y estos han de mostrarse uno detras de otro.
Responder Con Cita
  #4  
Antiguo 16-02-2009
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Según te entiendo yo, esa función andaría muy bien. Es decir, habría que llamarla una vez por cada video... Creo que no te entiedo...
Responder Con Cita
  #5  
Antiguo 17-02-2009
Avatar de cirilungol
cirilungol cirilungol is offline
Miembro
 
Registrado: feb 2006
Posts: 42
Poder: 0
cirilungol Va por buen camino
Lo has entendido muy bien.

Yo antaño, me acuedo de haber utilizado funciones de la manera que explico al principio.

Pero no me acuerdo de como se hacia correctamente.

A ver si me puedo explicar mejor.

video1,video2

estos videos estan creados en la aplicación, y se cargan con una secuencia, haciendo un
Código Delphi [-]
opensync;
que hace que no haga nada mas hasta que termine el video.

Pues bien, una vez se han mostrado los videos, al volver a mostrarlos, tardan muchisimo, y eso que la primera vez lo hace rapidisimo y de forma eficáz.

El problema de que tarden tanto en volver a mostrarse es lo que me trae de cabeza. Y por ello pensé en una función que liberase y crease el objeto pasado por la funcion.

Código Delphi [-]

procedure tform1.VideoPlay(sVideo: TMovieplayer);
begin
   
   //Liberar el objeto... aunque no se si aqui sería correcto
   //Aqui es donde se supone que tendria que cargar el objeto
   //(objeto as TMovieplayer)....vago recuerdo el mio

   with (sVideo as TMovieplayer) do //Modificado para tener un poco mas claro que hacer con el objeto pasado por el procedimiento
   begin
        show;
        //El openSync deja el video en marcha hasta que finalice, no hará otra acción pero si que recorre codigo... 
        OpenSync;
   end;

end;


he retocado el codigo a ver si se tiene una idea mas clara de lo que quiero hacer.

Gracias por contestar
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejar dos o mas pantalla pruz OOP 3 11-07-2007 10:33:57
Funciones que devuelven objetos AzidRain OOP 10 26-11-2006 08:01:36
Manejar Trozos de BMP Deiv Gráficos 13 03-07-2006 14:32:54
Manejar dirección API cardomjar Varios 7 08-12-2004 12:13:59
Manejar Componetes sergio_015 OOP 12 25-11-2004 11:01:47


La franja horaria es GMT +2. Ahora son las 17:45:33.


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
Copyright 1996-2007 Club Delphi