![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
salu2 radge |
|
#2
|
|||
|
|||
|
X) pues tienes faena. saludos.
|
|
#3
|
|||
|
|||
|
No si llevo más de 2 semanas con esto... pero es que no lo veo la verdad... me he trabado con ello.
gracias , radge |
|
#4
|
|||
|
|||
|
mira en el codigo inicial que pusiste, he encontrado errores de los que yo considero graves (la liberacion del string que luego usas, crear una form con un nombre de variable global, probablemente ya creada,...), por lo que, sin animo de despreciar, creo que pueden haber bastantes del mismo tipo por diferentes lugares del proyecto. Le pegaria una repasada general a todo entero teniendo en cuenta :
- no crear forms inecesarias : si solo se usan una vez, usar el autocreate (project->options). Si se han de usar varias a la vez de la misma clase (como por ejemplo seria un preview), entonces si usar el create de las forms. - si se crean, en tiempo de ejecucion, tanto forms como otros objetos, destruirlos en la misma funcion desde donde se han llamado. Vamos, las ultimas lineas de la funcion tendrian que ser del tipo q.Free, f.Free,...(en teoria, si dentro de estas forms no creas nada en tiempo de ejecucion, no hace falta usar el free, pero no esta de mas) - si se cargan datos, tener en cuenta que se liberen una vez usados. Si se sale de la funcion donde se ha creado y cargado, entonces usar una variable global del form directamente y en su create darles la memoria (a todos los que vayas a usar) y en el create del objeto, hacer create(self) , o sea vinculado a la form, y en el evento destroy liberar estos objetos (solo en el destroy). Asi mientras este creada la form tendras esos objetos a mano siempre. - Lo que decia neftali, vigilar que los campos de tus query esten creados y correctamente escritos y llamados, y que se asignen valores de acuerdo a sus tipos. - Y lo que te comente al principio: usar los breakpoints (F5) los watches (Ctrl+F5), F7,F8 , el call stack, y lo de comentar/descomentar. Venga, haber si lo resuelves. Saludos Última edición por coso fecha: 23-07-2008 a las 15:46:52. |
|
#5
|
|||
|
|||
|
Otra manera es usando un administrador de memoria y ir haciendo f7s,f8s...en los momentos en los que se te carguen bloques de memoria exagerados y alla se queden, por alla tendrias el problema (siempre suponiendo q el error sea por agotamiento de memoria, claro)
|
|
#6
|
|||
|
|||
|
Como variable global creo esta "CodiClient" que es una variable que arrastro de un combobox a distintos sitios dentro del mismo formulario.
Lo del auto-create forms solo tengo uno llamado "splash" lo que salta al inicio del programa , solo tengo ese. El trozo este de codigo Código Delphi [-] Application.CreateForm (TfrmUnidadesPedidoVenta, frmUnidadesPedidoVenta); frmUnidadesPedidoVenta.CarregaDades(Cantidad,UnitatsServidesBD); frmUnidadesPedidoVenta.ShowModal; varDades := frmUnidadesPedidoVenta.rebreDades; varUnitatsRestants := frmUnidadesPedidoVenta.rebreUnitatsRestants; frmUnidadesPedidoVenta.Free;
|
|
#7
|
|||
|
|||
|
pues quiza lo mas correcto sea q tengas en autocreate forms todas las forms que vas a usar en el proyecto. O es que las estas creando cada vez que las vas a llamar? si ese es el caso, una vez usadas y cerradas las forms, las destruyes?? porque ten en cuenta que si creas una form y luego vuelves a crearla y llamarla con el mismo nombre de variable sin haber destruido la anterior se queda esta ultima desreferenciada por memoria.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Error Raro sobre archivo "ntdll.dll" que no consigo encontrar el motivo | AGAG4 | Impresión | 1 | 23-11-2007 07:11:17 |
| localizar un registro | vroa74 | Conexión con bases de datos | 3 | 17-08-2007 14:11:23 |
| Localizar un registro | alcides | Varios | 4 | 13-04-2007 20:17:27 |
| Localizar datos con Firebird | joanajj | Firebird e Interbase | 5 | 06-06-2006 00:11:42 |
| RaveReport AccessViolation | raugadel | Impresión | 0 | 03-11-2005 15:32:56 |
|