Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 15-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hace poco que leí el artículo Delphi "problem": TForm.Create(?) Nil, Self or Application? de Zarko Gajic, que creo que viene aquí al pelo y tal vez te interese leer a ti también.

Lo primero decirte que estás en lo correcto: si al inicio de la aplicación se crean N formularios, se consumirán Y recursos. Si estos se van creando, por tanto, según vayan necesitándose, y liberándose luego de que su uso no sea necesario, probablemente ahorremos recursos.

Cita:
1- ¿ pero como hago Free cuando es en modo Show normal ?
Puedes hacerlo "cuando quieras", pero, sabe que los formularios cuentan con un evento "OnClose", en el que se pasa por referencia un parámetro "Action", de tipo "TCloseAction", que determina, precisamente, qué ha de hacerse con el formulario una vez este se cierre.

¿Posibles valores para dicho parámetro "Action"? Pues: caNone (para no hacer nada en concreto), caHide (para ocultar el formulario, simplemente), caFree (para liberar el formulario) o caMinimize (para minimizarlo).

Cita:
2- ¿ Como se libera la aplicación ?
Ahí ya me meto yo en camisas de once varas, pero, tal vez baste decir que cuando el formulario principal de la aplicación se cierre... la aplicación comenzará a liberarse. Por aplicación entiendo aquí a la variable "Application", que comenzará a liberar los objetos de que sea dueña, para por último terminar la aplicación. El formulario principal de la aplicación es el primero que se crea.

Cita:
3- ¿ como saber el número de veces que hay abierta una ficha ? ( esto no es muy importante ahora)
Eso depende. Una variable "Form", de tipo "TForm", sólo puede contener una instancia de la clase "TForm". Si tienes más variables con más instancias del mismo formulario... pero, no es lo común, diría yo. También hay que ver qué se entiende por un formulario "abierto". Este puede estar creado, pero, oculto, por ejemplo.

En todo caso si te interesa conocer todos los formularios de la aplicación cuenas con la variable "Screen", que tiene propiedades como "FormCount" y "Forms", que te dan acceso a todos los formularios creados en la aplicación en un momento dado.

Y termino remitiéndote de nuevo al artículo Delphi "problem": TForm.Create(?) Nil, Self or Application? de Zarko Gajic; verás que en lugar de usar "Application" como "dueña" (owner) de un formulario que crees, tal vez te convenga usar el propio "Self", o incluso "nil". Revisa el artículo en todo caso. Aunque en inglés no resulta complicado de seguir.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 



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
Dudas sobre las api de windows Barbaro API de Windows 2 26-12-2005 14:11:32
Dudas sobre TTreeView jodycom Varios 2 18-04-2005 10:03:50
dudas sobre transacciones..... inexperto Conexión con bases de datos 2 18-11-2004 20:24:31
Dudas sobre Locate silviodp Conexión con bases de datos 8 28-04-2004 14:59:26
Dudas sobre IP acertij022 Internet 0 20-05-2003 21:04:29


La franja horaria es GMT +2. Ahora son las 06:40:16.


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