delphi TStringList.free 释放错误 invalid pointer operation

var

NeedStr : TStringList;

begin

NeedStr := TStringList.Create;

.....

try

......

tinally

needstr.free; /// 如果needstr值为nil时,直接释放会产生 invalid pointer operation 错误提示.

//应该改为: if NeedStr.Count>0 then NeedStr.Free;

end;