假如一个Tstringlist不存在,建立它.存在继续怎么写. ( 积分: 50 )

  • 主题发起人 主题发起人 lslyl
  • 开始时间 开始时间
var sl:tstringlist;
begin
sl:=tstringlist.create;
sl.add('asfasdfads');
...
sl.free;
end;
 
楼上的兄台没有理解楼主的意思 !

不过,一个字串列表,一般都是创建。。。使用。。。释放!这样的过程,以免它占用系统资源吗!
 
將其這樣改寫就可以了。樓主試下。
var sl:tstringlist;定義成局部變量
begin
sl:=tstringlist.create;
sl.add('asfasdfads');
...
end;
form1close(sender:Tobject)
begin
sl.free;
end;
 
var sl:tstringlist;
begin
if S1=nil then
begin
sl:=tstringlist.create;
sl.add('asfasdfads');
...
sl.free;
end;
end;

楼上的说的对
 
楼上的OK了.
 
怎么判断一个变量是否存在,没有函数吗例如 Exists(变量)有吗.没找到
 
可用assigned(),如:
if assigned(sl) then
.....
这样用的时候要保证释放时将其置nil:
sl.free;
sl :=nil;
或 FreeAndNil(sl);
 
变量在你定义时,就存在了,只是没指向任何地址而巳
 
FindComponent()
 
用完就释放,要用是再建这才不会占资源啊。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部