将变量值存储在TStringList的object属性中

Sal*_*dor 4 delphi delphi-2007

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

var
 list : TStringList;
 v   : OleVariant;

  List..AddObject('Item1',v);
Run Code Online (Sandbox Code Playgroud)

要么

  List..AddObject('Item1',TObject(v));
Run Code Online (Sandbox Code Playgroud)

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

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

Mar*_*ema 8

我认为唯一的方法是将你的变量包装在一个类中,并在stringlist项的对象中引用它.当然,在释放stringlist时,您需要注意正确释放包装器实例.使用最近的Delphi版本,可以通过使用stringlist的"OwnsObjects"参数轻松完成.