我需要在 TStringList 中存储一个变体值,到目前为止我尝试过这个

var
 list : TStringList;
 v   : OleVariant;

  List..AddObject('Item1',v);

或者
  List..AddObject('Item1',TObject(v));

但在这两种情况下,代码都无法编译,因为类型转换无效或类型不兼容。

所以问题是,我如何在 TStringlist 中存储变体值?

最佳答案

我认为唯一的方法是将您的变体包装在一个类中,并将对该变体的引用放入 stringlist 项目的对象中。您当然需要注意在释放字符串列表时正确释放包装器实例。使用最近的 Delphi 版本,这可以通过使用 stringlist 的“OwnsObjects”参数轻松完成。

关于delphi - 在 TStringList 的对象属性中存储变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4412747/

10-08 22:41