Ver Mensaje Individual
  #4  
Antiguo 03-12-2009
gerardus gerardus is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Reputación: 0
gerardus Va por buen camino
Cita:
Empezado por r1d2m3 Ver Mensaje
c como sabemos, puedo volver a cliquear en el botón y volver a redefinir el objeto, si hago esto, por cada click que realizo voy gastando memoria que no se libera?.por supuesto que siempre queda la instancia de destrucción del objeto al cerrar el form, peeeero, siempre hay un pero, podría estar malgastando la memoria si no destruyo explícitamente los objetos creados al terminar el procedimiento. ¿así es el comportamiento de delphi?, vengo de programar en c# y allí teníamos el GC que simplificaba estas cuestiones y no quiero meter la pata, o al menos que no se note.
Delphi no tiene GC, lo cual te impone liberar "a mano" todos los objetos que tu vayas creando. Puedes verlo como un problema si vienes de .NET, pero para mi es una ventaja. Si te impones un poco de disciplina, tienes mayor control sobre el uso de memoria de tu aplicación y el rendimiento es mayor.
Será porque llevo toda la vida haciendolo a mano, pero cuando programo en C# me pone nervioso no saber que pasa con los objetos que voy creando, me da la sensación de ir ensuciando ;-)

Cordialmente,

Gerard.

p.d.
Hay trucos, como por ejemplo después de escribir MiObjeto := TMiObjeto.Create, escribes directamente MiObjeto.Free, y entre las dos lineas escribes el código. Para objetos de un solo uso es la manera de no olvidarte liberarlos después de 300 lineas de código.
Responder Con Cita