读书人

ComBoBox中addObject函数的内存释放有

发布时间: 2012-02-27 10:00:22 作者: rapoo

ComBoBox中addObject函数的内存释放问题???
procedure TForm1.Button1Click(Sender: TObject);
var tmp1:string;
tmp2:^string ;
begin
new(tmp2);
tmp1 := '1 ';
tmp2 ^:= 'abc ';
CbBox1.Items.AddObject(tmp1,TObject(tmp2^));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to CbBox1.Items.Count-1 do
if CbBox1.Items.Objects[i] <> nil then
begin
Dispose(pstring(CbBox1.Items.Objects[i]));
end;
end;
上述语句中,一执行到Dispose就出错,怎么回事???

[解决办法]
CbBox1.Items.AddObject(tmp1,TObject(tmp2^)); ->
CbBox1.Items.AddObject(tmp1,TObject(tmp2));
[解决办法]
这里的问题
CbBox1.Items.AddObject(tmp1,TObject(tmp2));

读书人网 >.NET

热点推荐