Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2011
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Poder: 19
JerS Va por buen camino
Que es mejor Agregar el Objeto al Form o crearlo en tiempo de Ejecución

Amigo que dicen es mejor agregar el objeto o crearlo en tiempo de ejecución? escucho comentarios
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita
  #2  
Antiguo 15-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que sera crear el form en tiempo de diseño o en ejecucion ?.
Si es asi, me parece que da lo mismo, la diferencia seria el tiempo de programacion.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 15-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JerS.

En líneas generales, la creación por código es mas veloz y ocupa menos espacio, pero implica un mayor tiempo de desarrollo.
Regularmente utilizo la creación en runtime cuando ignoro si se necesitará crear algun objeto, y de ser así, cuantos serán necesarios.

Creo que la pregunta admite muchas respuestas ya que las ventajas dependen de las diferentes situaciones a que se vaya a aplicar.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 15-07-2011
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Poder: 19
JerS Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola JerS.

En líneas generales, la creación por código es mas veloz y ocupa menos espacio, pero implica un mayor tiempo de desarrollo.
Regularmente utilizo la creación en runtime cuando ignoro si se necesitará crear algun objeto, y de ser así, cuantos serán necesarios.

Creo que la pregunta admite muchas respuestas ya que las ventajas dependen de las diferentes situaciones a que se vaya a aplicar.


Saludos.
necesito hacer una consulta pero que se va ha ejecutar cada 10 seg de forma continua lo estoy haciendo con un Objeto TZquery seria recomendable crear este objeto en tiempo de ejecución tomando en consideración que se crearía y liberaría cada 10 seg o es preferible agregarlo en el form y listo?
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita
  #5  
Antiguo 15-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JerS.
Cita:
necesito hacer una consulta pero que se va ha ejecutar cada 10 seg de forma continua lo estoy haciendo con un Objeto TZquery seria recomendable crear este objeto en tiempo de ejecución tomando en consideración que se crearía y liberaría cada 10 seg o es preferible agregarlo en el form y listo?
Tomando en cuenta que se trata de un sólo objeto y que implicará tantas creaciones y liberaciones, pareciera que es más adecuado agregarlo en el form ya que es más simple. Aunque en este caso, yo no veo una ganancia clara en hacerlo por un método u otro, lo que no quiere decir que no la haya.
Una prueba que podrías hacer sin mucho costo de tiempo es ejecutar la aplicación con un modo y luego con otro para ver si existe una mejora significativa con alguno de ellos.

De todas maneras el objeto que agregues en tiempo de diseño a tu form, se libera al destruirse el mismo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 15-07-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

También puedes crearlo en tiempo de ejecución, al momento que se cree el form, usando el evento OnCreate:

Código Delphi [-]
type
  TMyForm = class(TForm)
    // .. componentes
    procedure CreateForm(Sender: TObject);
  private
    FQuery: TZQuery;
  public
    // ...
  end;

implementation

procedure TMyForm.CreateForm(Sender: TObject);
begin
  FQuery := TZQuery.Create(Self); // Usas self para que el formulario destruya el componente al destruirse.
  // Configuras las propiedades de FQuery
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #7  
Antiguo 19-07-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por JerS Ver Mensaje
necesito hacer una consulta pero que se va ha ejecutar cada 10 seg de forma continua lo estoy haciendo con un Objeto TZquery seria recomendable crear este objeto en tiempo de ejecución tomando en consideración que se crearía y liberaría cada 10 seg o es preferible agregarlo en el form y listo?
Lo mejor en este caso es crearlo al iniciar la aplicación y eliminarlo al salir de ella, y usarlo cada 10 segundos.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #8  
Antiguo 20-07-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Lo mejor en este caso es crearlo al iniciar la aplicación y eliminarlo al salir de ella, y usarlo cada 10 segundos.
Que es lo mismo, y equivalente, a tenerlo ya en tiempo de diseño colocado al TForm o TDataModule. Porque el objeto, en si no se crea si no es una vez que se crea el TForm o TDataModule y se liberan junto a sus "padres".

Yo le doy un giro de tuerca... ¿y cuántos ks crees que te ganas en crear el componente por código, en runtime?

Si fueran cientos o una cantidad arbitraria y desconocida de objetos los que necesitas si veo sentido llevar a cabo la programación en runtime (por que no hay otra salida) pero si es para un único objeto... ¡mejor que viva por siempre, hasta que la aplicación finalice!... pierdes más tiempo en liberarlo y matarlo que en la posible ganancia de "perfomance" de hacerlo por código.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 20-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Estoy de acuerdo con Delphius.
Hay situaciones en las que es necesario crear dinámicamente, por ejemplo, para pedir parámetros de un informe, porque cada informe tiene parámetros distintos, entonces ahí puede estar justificado crear los componentes en tiempo de ejecución, pedir los parámetros y eliminarlos finalmente.
Pero, en general, no es necesario.
Responder Con Cita
  #10  
Antiguo 20-07-2011
Avatar de DarKraZY
DarKraZY DarKraZY is offline
Miembro
 
Registrado: ago 2003
Posts: 460
Poder: 21
DarKraZY Va por buen camino
Yo creo si el componente TZQuery se crea cada diez segundos o sólo una vez no va a afectar al rendimiento tanto como...

...la transacción (conexión) que esté activa. ¿Va a estar la transacción abierta por los siglos de los siglos? ¿o se va a ir cerrando (COMMIT o ROLLBACK) cada cierto tiempo?

Hace tiempo leí que transacciones voluminosas y abiertas mucho tiempo eran un peligro, pero que también las que son cortas y cada poco tiempo.

Se necesitan más datos para decidir.

Saludos!
Responder Con Cita
  #11  
Antiguo 20-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DarKraZY Ver Mensaje
Hace tiempo leí que transacciones voluminosas y abiertas mucho tiempo eran un peligro, pero que también las que son cortas y cada poco tiempo.
Las cortas y rápidas son idóneas. Así es como debe hacerse
Responder Con Cita
  #12  
Antiguo 20-07-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Las cortas y rápidas son idóneas. Así es como debe hacerse
Yo estoy de acuerdo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Agregar en tiempo de ejecucion sizne OOP 4 01-05-2010 21:35:44
Cómo puedo agregar campos a un objeto TADOTable en tiempo de ejecución? OscarBravo Tablas planas 3 21-01-2009 17:05:48
Objeto seleccionado en tiempo de ejecucion Javier Sotillos OOP 1 30-09-2005 10:09:38
agregar una atributo en tiempo de ejecución seken Conexión con bases de datos 6 22-10-2004 00:21:03
Agregar una impresora en tiempo de ejecucion fanon Impresión 1 26-05-2003 11:16:20


La franja horaria es GMT +2. Ahora son las 04:32:09.


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