Ver Mensaje Individual
  #14  
Antiguo 07-03-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
Cuando tiramos un query desde tiempo de diseño, no hay que andar haciendo chequeos para preguntar si puedo acceder al objeto o a sus propiedades (dejando de lado aquellas que hay que asignar desde afuera como Connection, etc) simplemente el objeto esta ahi, disponible en todo momento para mi; por algo esta declarado en la parte publica del form, tiene un alcance "global" dentro del form, y no limitado dentro de un metodo. A mi me resultaria muy extraño llegar a pensar que ese puntero pueda tener NIL
Está claro que en ese punto no tiene sentido utilizar FreeAndNil, es más, es que en ese caso ni siquiera tendrás que usar un Free, pues no viene al caso.
Pero hay muchos otros objetos que se generan durante una ejecución y que se deben liberar.

Se me ocurre un ejemplo sencillo. ¿Has pasado alguna vez un objeto como parámetero en un procedimiento?
Mira este método, que viene del clubdelphi y que ahora mismo tengo en pantalla.

Código Delphi [-]
{: Devuelve una lista de nombres de fichero encontrados a partir de la
     carpeta inicial StartDir, que cumplen el patrón especificado por
     FileMask.Mediante recursively se indica si se desea hacer la busqueda
     en los subdirectorios.}
procedure FindFiles(StartDir, FileMask: string; recursively: boolean; var FilesList: TStringList);

Imagina que el último parámetro es opcional.
Se convertiría en:

Código Delphi [-]
{: Devuelve una lista de nombres de fichero encontrados a partir de la
     carpeta inicial StartDir, que cumplen el patrón especificado por
     FileMask.Mediante recursively se indica si se desea hacer la busqueda
     en los subdirectorios.}
procedure FindFiles(StartDir, FileMask: string; recursively: boolean; FilesList:TStringList=nil);

¿Has usado algo así alguna vez?
En este caso y según lo que hagas antes deberás asignar nil de forma obligatoria.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita