doctorhd,
Cita:
Empezado por doctorhd
...mi pregunta inicial : ¿no se supone que los objetos siempre se pasan por referencia, sin necesidad de utilizar var?, sigue en pie...
|
Cita:
Empezado por Marco Cantu
... Los objetos Delphi, de hecho, son siempre transmitidos mediante valores, porque ellos mismos son referencias. Por esta razón, transmitir un objeto por referencia tendría poco sentido (aparte de casos muy especiales)...
Tomado de : Procedimientos y funciones en Pascal
|
Al pasar un objeto por valor se pasa una referencia al mismo, pero al aplicar el procedimiento FreeAndNil se libera el objeto pasado por valor
y se asigna nil a la copia por valor de la variable del objeto en el procedimiento y/o función de llamada, no en la variable original del objeto, luego al verificar con Assigned el valor del objeto en el procedimiento y/o función original
este es diferente de nil, es por esto que este caso es un caso especial.
Espero sea útil
Nelson.