Free+Destroy=FreeAndNil. Free是静态方法: Procedure TObject.Free; begin if Self<>nil then Destroy; end;//判断对象是否为Nil,非Nil则调用Destroy; //----------------------------------------------------- Procedure FreeAndNil(var Obj); var Temp:TObject; begin Temp:=TObject(Obj); Pointer(Obj):=Nil; Temp.Free; end;//调用Destroy,并赋nil给对象 //----------------------------------------------------- 请你提问之前最好查一下资料!