![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Mira este hilo también...
Si después de un try..except te salta una excepción más, seguramente es que tu codigo depende de que se ejecute correctamente el codigo en ese bloque: En este código te saltará primero el mensaje de que "No puede abrir la base de datos" y luego uno del tipo "Database not Open". Lo correcto sería:
|
#2
|
|||
|
|||
try/except
ok,
la cosa me queda mas clara; gracias por los aportes lo unico, he hecho pruebas pero todavia sigue saliendome en ocasiones el mensaje de "insuficient memory..." y lo que comentaba, me obliga a cerrar todo delphi y volver a abrir el proyecto para seguir trabajando y programando. no se si es algo normal, si le pasa a mas gente o es solo a mi porque algo hago mal. el caso es que si estoy programando y ejecuto el codigo para ver que tal funciona, se me da el caso que da errores que en tiempo diseño no he contemplado y tengo que modificar el codigo.Hasta aqui todo bien pero si hago cambios para corregir el problema, sigo programando y probando el codigo y se vuelven a dar fallos en más ocasiones, llega un punto en que como decia antes tengo que cerrar todo. De ahi, mi consulta sobre este hilo, no se si era algo que programaba mal... o es algo que es normal; si pruebo el codigo y da fallo, salta el mensaje de excepción (no el mensaje que yo tengo puesto en el EXCEPT) y he probado una vez ocurrido esto, seguir ejecutando el codigo con F7, y es entonces cuando observo que salta la excepción que tengo puesto con el TRY y pensaba que haciendo esto, de alguna manera pudirea solucionar el problema de "insuficient memory" pero no es el caso me pasa lo mismo. hay manera de controlarlo? espero haberme explicado |
#3
|
||||
|
||||
¿Es posible que durante la ejecución del programa vayas creando objetos que no vayas liberando de la memoria?
__________________
Be water my friend. |
#4
|
|||
|
|||
insuficient memory
Cita:
Código:
query1.free; action:=cafree; el mensaje "insuficient memory" me sale cuando abro algun form y me salta la excepcion en mas de una ocasion.el proceso exacto es: -probar el codigo -da errores -hago cambios, y vuelvo a compilar -pruebo otra vez el codigo -da errores -hago cambios y compilo -da errores ... -hago cambios y compilo -intento probar el codigo y salta la excepcion -cerrar la aplicación guardando o sin guardar los cambios -salir de delphi -abrir delphi y el proyecto -seguir trabajando en tiempo de ejecucion no llego a crear ningun control |
#5
|
||||
|
||||
A mi me da ese problema muy raramente cuando me salen muuuuuuuchos errores. A ver si va a ser que tu equipo tiene muchas cosas cargadas en memoria y deja poca disponible para el delphi.
__________________
Be water my friend. |
#6
|
|||
|
|||
Cita:
probare el caso es que me tiene un tanto preocupado por si es algo que no hago bien, que no controlo, que se me escapa en la programacion y demas. si ya le pasa a alguien mas puedo darme un respiro gracias por todo |
#7
|
||||
|
||||
Yo para cazar los "Memory Leaks" utilizo la unidad MemCheck.
La puedes bajar de aquí. Básicamente debes ponerla dentro de tu proyecto, como primera unidad. Lo primero que debe hacer tu aplicación es llamar a MemChk. Para compilar tu versión de desarrollo debes activar algunos checks en las opciones de compilacion: Mira aquí. No olvides activar la opción TD32 debug information en la pestaña Linker. Ejecutas el programa y al salir te da información en un texto que debería serte útil para buscar lugares donde no liberas objetos. Nota: Luego de agregar MemCheck al proyecto y haber tocado las opciones de compilación, deberías borrar todas las *.dcu para recompilar completamente tu proyecto. Nota 2: Con las opciones de compilacion puestas el .exe es mucho más grande. Solo deberías utilizar estas opciones durante el desarrollo. Antes de entregar al cliente deberías quitar todas las opciones y comentar la línea //MemChk; |
#8
|
||||
|
||||
Tomo nota, gracias.
![]()
__________________
Be water my friend. |
#9
|
|||
|
|||
mem check
creo que me sera de gran ayuda
gracias duilioisola por el aporte |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Capturar Errores con Try, Finally, End | GerTorresM | OOP | 1 | 23-04-2011 23:16:01 |
try-try-finally-finally | roman | Varios | 33 | 20-08-2008 02:27:00 |
Try Except --finally-- | Caral | Varios | 13 | 02-10-2006 22:12:24 |
![]() |
|