Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si se trata de buscar optimizaciones, habría que ver el procedimiento con detalle, para tener información completa.

Por un lado se me hace difícil pensar en 120 variables, básicamente no me imagino para qué pueden hacer falta y si son todas necesarias. No se si habría forma de reutilizarlas o de diseñar eso de otra forma.
Por otro lado si son variables locales, al salir del procedimiento esa memoria se libera, por lo que no debería representar un conveniente llamarlo las veces que sean necesarias. Cada llamada no implica más gasto si todo se libera correctamente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 29-11-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
Por otro lado si son variables locales, al salir del procedimiento esa memoria se libera, por lo que no debería representar un conveniente llamarlo las veces que sean necesarias. Cada llamada no implica más gasto si todo se libera correctamente.
Hola Germán. Respecto al consumo de memoria, puede que no sea demasiado problema como bien dices.

Pero cabe mencionar que con 120 variables el consumo de CPU puede resultar importante, dependiendo en buena medida de qué tantas de esas variables usen contadores de referencias (debido a las necesarias inicializaciones y finalizaciones), y de la frecuencia con que la rutina es llamada: varias veces por minuto, según comenta JerS.

JerS, como ya dijo Neftalí, habría que ver ese procedimiento con detalle. ¿Sería posible que colocaras aquí una copia del mismo, o al menos algo que se le asemeje en caso de ser muy confidencial?

Saludos.

Al González.
Responder Con Cita
  #3  
Antiguo 29-11-2011
JerS JerS is offline
Miembro
 
Registrado: may 2005
Ubicación: Venezuela
Posts: 254
Poder: 22
JerS Va por buen camino
Muchas gracias por sus aportes, por lo que he podido entender no hay mucha diferencia entonces entre declarar la variable como String o String[4] y al declarar las variables como locales al terminar el proceso son liberadas de memoria sin problema. entonces este no es el problema de mi procedimiento, lo que sucede es que es un procedimiento muy extenso de mas de 2000 lineas y en cierto punto sobre todo al hacer ZQuery1.Open me da problemas de Access Violation o Invalit pointer operation o muchas veces en algo tan sencillo como edit1.clear; por eso estoy descartando que puede ser :S
__________________
La vida es un simple pero complejo If

J=rS
Responder Con Cita
  #4  
Antiguo 29-11-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JerS Ver Mensaje
...lo que sucede es que es un procedimiento muy extenso de mas de 2000 lineas y en cierto punto sobre todo al hacer ZQuery1.Open me da problemas de Access Violation o Invalit pointer operation o muchas veces en algo tan sencillo como edit1.clear; por eso estoy descartando que puede ser :S
Te recomiendo dividir el procedimiento en secciones más pequeñas, para poder detectar los errores de forma más fácil.
Utiliza Try...except para capturar posibles excepciones.
Revisa elementos que creas y destruyes en el procedimiento, puesto que los Access Violation suelen ser debidos a accesos incorretos a memoria (por ejemplo cosas que todavía no se han creado al accederlas o que se han destruído antes de tiempo).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
¿Cómo descargar Archivo de Muchas Fuentes? JXJ Varios 3 14-03-2007 02:09:08
Aplicacion carga muchas fichas en memoria. zugazua2001 Varios 4 06-09-2005 17:40:41
¿Se pueden utilizar varibles en SQL? nuri SQL 3 09-07-2005 00:43:57
Los ordenadores son mas lentos y tienen menos memoria haron Debates 8 11-05-2005 17:28:21
Varibles Globales nancy Varios 2 05-01-2005 14:46:26


La franja horaria es GMT +2. Ahora son las 10:12:07.


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