Cita:
Empezado por Al González
En Delphi es de lo más seguro, Donald.
Cuando el objeto es Nil y el método Free hace esta validación:
Código Delphi [-]if Self <> nil then
,
está preguntando si Nil es diferente de Nil, en cuyo caso llama a Destroy. De lo contrario no hace absolutamente nada. Si Free fuese un método virtual o hiciera alguna otra cosa con la "improbable" instancia, entonces sí sería inadecuado usarlo en esos casos.
Self es un parámetro implícito que llevan todos los métodos y equivale al puntero en sí de la instancia en cuestión. Nil, cuando el puntero está en blanco. No hay absolutamente ningún problema.
¿Ya convencido?
|
La verdad con tu explicación para nada ya que no me contas nada nuevo.
Estas explicándome que hace el código y que es self
.
Lo que quiero saber es porque razón un puntero a la nada (nil) es seguro.
Saludos.