![]() |
Assigned y Free
Hola compañeros !
Por qué después de hacer un Free de un form, la pregunta de Assigned vuelve a dar true ?
Debo utilizar alguna otra pregunta diferente del Assigned ? Gracias por vuestra ayuda :o |
Hola,
Depende... pero a veces puede ser útil usar "FreeAndNil" en lugar de "Free". Creo que por ahí pueden ir los tiros aquí. La variable "MiForm", en este caso, apunta a "algo" que tal vez es sólo basura en la memoria, desde luego no será al objeto... que ha sido liberado. Pero si a la variable "MiForm" le asignas el valor "nil",... entonces "Assigned" no debería retornar "true"... si no estoy equivocado. :) |
Porque Assigned únicamente revisa si la variable tiene el valor nil y Free destruye el objeto pero no pone en nil a la variable; lo cual es lógico pues ni siquiera puede saber cuál o cuáles variables hacen referencia a él. En su lugar, puedes usar FreeAndNil(Objeto).
// Saludos |
Hola,
Bueno, sin duda, la respuesta de Román, en dos líneas, parece más razonable y desde luego es más clara que la mía, la cual si me pongo con ella de nuevo tal vez revisaría, luego de leer lo que Román ha dicho. O sea. :) |
Muchas gracias a los dos.
Como siempre vuestra ayuda es fabulosa ! :p |
La franja horaria es GMT +2. Ahora son las 07:15:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi