FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
nlsgarcia, Creo que ya encontré el error, este esta en la función que utilizo para cerrar los objetos:
Al parecer ciertos objetos se pasan por valor y no por referencia, ya que dentro del procedure freeandnil hace su trabajo y libera la memoria y los deja en nil, pero al salir del procedure dichos cambios no tienen efecto. Es muy raro ya que hasta donde se los objetos o clases siempre se pasan por referencia. Quizás exista algún error en la declaración del array que contiene los objetos... saludos... |
#2
|
||||
|
||||
doctorhd,
Cita:
Te sugiero revisar y probar todo lo comentado en el Msg #7. Espero sea útil Nelson. |
#3
|
|||
|
|||
nlsgarcia, no había visto tu mensaje anterior...Al parecer llegamos a la misma conclusión, pero ahora mi duda es, ¿no se supone que los objetos siempre se pasan por referencia, sin necesidad de utilizar var...?
Saludos y gracias por tu ayuda.. |
#4
|
||||
|
||||
doctorhd,
Cita:
Cita:
Nelson. |
#5
|
|||
|
|||
nlsgarcia, citando el mismo texto que me indicas...
Cita:
Cita:
Cita:
Saludos |
#6
|
||||
|
||||
doctorhd,
Cita:
Cita:
Espero sea útil Nelson. |
#7
|
||||
|
||||
doctorhd:
Una cosa es un puntero a la instancia (referencia de objeto) y otra un puntero a una variable puntero a la instancia (referencia de variable objeto). Cuando el parámetro es "Var", estás pasando éste último. De lo contrario estás pasando el primero, copiándose ese puntero en el parámetro, el cual actúa como una simple variable objeto local. Si lo pones en Nil, sólo esa "variable" adquiere el valor de Nil; las demás variables (exteriores) que apunten a la misma instancia de objeto seguirán igual. Espero no haberte confundido. Saludos. |
#8
|
|||
|
|||
Gracias nlsgarcia y Al González por sus respuestas, me queda claro el origen del error.
Ahora a raíz del cambio indicado por ustedes, tengo el siguiente problema...(no se si sera necesario abrir un nuevo hilo) al llamar a la función: tengo el siguiente error: el cual indica que no puedo pasar una constante como parámetro a una función que requiere una variable, cuestión que no es cierta, ya que FDetail es un campo de una clase que a su vez también es una clase, aquí va la definición de ambas:
Saludos... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FreeAndNil VS Free | GerTorresM | OOP | 45 | 30-01-2012 01:54:24 |
Forms: FreeAndNil ó Release y la validación Assigned? | jbautista | Varios | 13 | 09-02-2010 17:33:03 |
Microsoft libera ASP .NET MVC | AzidRain | Noticias | 3 | 10-04-2009 19:06:52 |
Problemas FreeAndNil | OscarG | OOP | 4 | 09-11-2005 12:48:46 |
No libera la MEMORIA | pruz | Varios | 1 | 27-04-2004 21:30:33 |
|