小编Fra*_*kCM的帖子

我需要释放这些物品吗?

我正在使用Delphi 1 16位来学习Pascal(不要笑,它工作正常,加上我买不起更新的版本).我正在使用TList来保存简单地址簿的对象引用.每个对象都添加到TList中,如下所示:

DataList.Add(TAddrBookData.Create('Bob', '1 Mill St'));
Run Code Online (Sandbox Code Playgroud)

我是否需要自己释放TAddrBookData对象?或者当TList.Free运行时它们被释放了吗?

delphi

12
推荐指数
2
解决办法
604
查看次数

TStringList - 奇怪的行为

德尔福1 16位(是的它已经老了,但效果很好)

一些示例代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  SL: TStringList;
begin

  SL := TStringList.Create;
  SL.Sorted := True;
  SL.Duplicates := dupIgnore;

  SL.AddObject('A', TObject(100));
  SL.AddObject('A', TObject(999));
  ShowMessage(IntToStr(LongInt(SL.Objects[0]))); {A}

  SL.Free;

end;
Run Code Online (Sandbox Code Playgroud)

我正在使用Object字段来存储longints(一个hack,是的,但它可以完成工作).无论如何,在上面的A行,我希望ShowMessage显示100,而不是显示999(即使设置了dupIgnore).我在这里错过了什么吗?或者它应该以这种方式工作(我希望stringlist忽略999)?

delphi

5
推荐指数
1
解决办法
1787
查看次数

标签 统计

delphi ×2