Ver Mensaje Individual
  #8  
Antiguo 07-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Se suele decir que hay dos "escuelas", los que defienden el uso de FreeAndNil y los que no

Es una guerra que no va a tener fin nunca y en parte tenes razon German en que va en gustos

Vos decis que es mas ordenado y claro pero a mi me resulta mas desordenado y mas confuso

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

A mi no se me ocurre un solo caso en el que el uso de FreeAndNil sea necesario

Nunca ni siquiera me gusto la implementacion del metodo, mas que FreeAndNil deberia ser NilAndFree:

procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free;
end;
Responder Con Cita