![]() |
![]() |
| 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
|
|||
|
|||
|
Hola...
No veo gran problema en como asignas y liberas la memoria. Lo que si, si cierras la aplicación sin cerrar la ventana que contiene el Treeview y esta ventana no tiene un evento OnClose que llame al método FreeNodes, entonces esa memoria no se libera, lo que provoca que tu aplicación tenga un llamada "memory leak". Ahora, te recomendaría que tu procedimiento liberar memoria lo reescribas así:
El método anterior está basado en la suposición que solo el nivel 3 tiene asignada la propiedad Data. La llamada sería: FreeNodes(TreeView1.Root); Toma en cuenta que estoy haciendo este método sin probarlo, así que podría tener algún error... Saludos... |
|
#2
|
||||
|
||||
|
Gracias Maeyanes
En realidad los otros niveles si tienen el nodo.data asignado pero a un entero nodo.data := integer(iCliente) por eso la funcion mejorada de liberacion de nodos quedo asi
la liberacion de memoria sigue estando lenta pero lo solucione impidiendo que cierre el formulario. Cuando se cierre el aplicativo (cosa que si se hace rapidamente) supongo que windows eliminara automaticamente todos los punteros creados por el aplicativo... o opor los menos eso espero
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
|
#3
|
|||
|
|||
|
Hola...
Tu aplicación solo va a liberar la memoria que instancia automáticamente, más no la que tu instancias usando New, esa es tu responsabilidad liberarla. Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Liberar memoria | Perrero80 | Varios | 15 | 06-04-2017 04:07:10 |
| Liberar memoria | vicvil | Varios | 13 | 30-10-2006 17:14:38 |
| Liberar dll de memoria | lgarcia | Internet | 1 | 11-08-2005 00:26:29 |
| Liberar memoria | Sick boy | Varios | 6 | 02-07-2005 10:11:29 |
| Liberar Memoria | JoseQ | Varios | 6 | 16-07-2004 18:49:21 |
|