如果TSringlist被Create我才好调用Destroy过程
var MyStringList:TStringList;
...
if MyStringList <> nil then
MyStringList.Destroy;----------------------不对
var MyStringList:TStringList;
...
if MyStringList <> nil then
MyStringList.Destroy;----------------------不对
FreeAndNil(MyStringList);
FreeAndNil(MyStringList);
那么 if MyStringList <> nil then
MyStringList.Destroy;
------------------------------------
if MyStringList <> nil then
MyStringList.Free;
---------------------------------------
if MyStringList <> nil then
FreeAndNil(MyStringList);
------------------------------------
if assigned(MyStringList) then
MyStringList.Destroy;
------------------------------------------
还是报错
FreeAndNil(MyStringList);--执行上面试试,报什么错? 你确定是这条语句报的错??
begin
try
FreeAndNil(MyStringList);
except
end;
end;
if integer(@mystringlist)>=0
then freeandnil(mystringlist);
showmessage(@mystringlist.CommaText);//释放掉了会抱错。
//--------------
if integer(@mystringlist)>=0
then pointer(@mystringlist):=nil;
//-------------------------------
都可以的
改为showmessage(mystringlist.CommaText);
...
if MyStringList <> nil then
MyStringList.Free();