for i:=0 to 10 do
begin
new(s1); s := '北京'+inttostr(i);
s1.str := s;
combobox1.Items.AddObject('北京'+inttostr(i), TObject(s1));
// dispose(s1); //bug
end;像上面这个如果没有把dispose(s1) 注释掉就会出错呀!! 在哪儿释放它呢?
begin
new(s1); s := '北京'+inttostr(i);
s1.str := s;
combobox1.Items.AddObject('北京'+inttostr(i), TObject(s1));
// dispose(s1); //bug
end;像上面这个如果没有把dispose(s1) 注释掉就会出错呀!! 在哪儿释放它呢?
var
i: integer;
begin
for i := 0 to aComBoBox.Items.Count - 1 do
if Assigned(aComBoBox.Items.Objects[i]) then
Dispose(PObj(aComBoBox.Items.Objects[i]));
end;