Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
constantes temporales

Hola amigos, tengo definido varios valores constantes, principalmente de consultas SQL que se ejecutan cuando se inicia la aplicacion.

Voy verificandi algunas cosas y de acuerdo a ello ejecuto otras.

El tema es que esas consultas no se utilizan mas durante la vida del programa. Por lo que me imagino siguien viviendo hasta que termine mi aplicacion.

Como hago para liberar su memoria una vez terminado la fase inicial, deberia definirlas dentro de un objeto para asi liberarlas?
__________________
[Crandel]
Responder Con Cita
  #2  
Antiguo 16-01-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Thumbs up

Hola... hasta donde yo sé, las constantes no cambian su valor durante toda tu aplicación.. lo que puedes hacer es utilizar variables publicas..

por ejemplo si utilizas funciones, procedimientos o variables públias, podrias declararlas en un TDataModule y luego incluir la unit de este DataModule, en todos los Forms que desees utilizar los procedimientos, funciones o variables,pertenecientes al DataModule.

espero que te sirva...
Responder Con Cita
  #3  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A riesgo de meter la pata y ciñéndome a lo que entiendo se requiere... ¿qué tal parece lo siguiente?

Código Delphi [-]
var
  DON_JOSE: string = '- Hola don José';
  DON_PEPITO: string = '- Hola don Pepito';

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(DON_PEPITO +' '+ DON_JOSE);

  Pointer(DON_JOSE) := nil;
  Pointer(DON_PEPITO) := nil;

  ShowMessage(DON_PEPITO +' '+ DON_JOSE);
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 16-01-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
mi idea no es cambiarle el valor, es solo destruirlas.
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 16-01-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Gracias Dec, algo asi estaba pensando.

Aunque ahora que lo pienso , si las defino como variables, como hiciste se puede hacer directamente
Código Delphi [-]
DON_JOSE := '';

no es nada muy importante, solo ver si podia liberar un poco de la memoria que no necesito
__________________
[Crandel]
Responder Con Cita
  #6  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues lamento no llegar yo tan abajo, pero, acaso con esto último que dices también estarías logrando lo que buscas.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 16-01-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si observas que es lo que hace el compilador con tus constantes, verás que no tendrás que preocuparte por la memoria, mas que por lo que ocupa en el propio ejecutable al cargarlo.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 16-01-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
"Hola don pepito.... hola don jose....." mmmmmm.... eso me recuerda a algo de mi infancia, creo que una canción... pero no estoy seguro...
__________________

Responder Con Cita
  #9  
Antiguo 16-01-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Cita:
Empezado por delphi.com.ar
Si observas que es lo que hace el compilador con tus constantes, verás que no tendrás que preocuparte por la memoria, mas que por lo que ocupa en el propio ejecutable al cargarlo.
te refieres a que las constantes no son cargadas en memoria si no estan siendo ocupadas?

de que forma recomiendas observarlo?

Ya habia observado en el "Watch List" que no es posible ver el valor de las constantes si no estas en un metodo que las use, pero sucede lo mismo con las variables
__________________
[Crandel]
Responder Con Cita
  #10  
Antiguo 16-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una constante no ocupa espacio en memoria; simplemente porque ni siquiera existe una vez compilado el ejecutable. Es decir, si tienes:

Código Delphi [-]
const
  PI = 3.15;

......

Area := PI*Radio*Radio;

el compilador sustituirá cada ocurrencia de la constante por su valor en el exe final, de forma que es como si hubieses escrito directamente:

Código Delphi [-]
Area := 3.15*Radio*Radio;

// Saludos
Responder Con Cita
  #11  
Antiguo 16-01-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
gracias a todos, entonces asunto solucionado y sin escribir una sola linea de código.
__________________
[Crandel]

Última edición por Crandel fecha: 16-01-2007 a las 23:54:53.
Responder Con Cita
  #12  
Antiguo 17-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

- Hola don Pepito
- Hola don José...

PD. Léase cantando, claro.
__________________
David Esperalta
www.decsoftutils.com
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
Constantes o uso de Dominios Abel Garcia Firebird e Interbase 1 10-10-2006 16:15:29
variables y constantes SaGuMa Varios 13 03-10-2006 16:18:03
Def. de constantes - Casting Mariana OOP 3 21-10-2005 19:24:23
Constantes de Delphi en Run Time Carlos Claveria OOP 3 23-10-2003 17:55:12
constantes globales acrophet Varios 3 18-09-2003 13:51:45


La franja horaria es GMT +2. Ahora son las 08:45: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
Copyright 1996-2007 Club Delphi