我需要在TStringList
中存储一个变量值,到目前为止我试试这个
var
list : TStringList;
v : OleVariant;
List..AddObject('Item1',v);
或
List..AddObject('Item1',TObject(v));
但在这两种情况下,代码都无法编译,因为类型转换无效或类型不兼容。
所以问题是,我如何在TStringlist中存储变量值?
答案 0 :(得分:8)
我认为唯一的方法是将变量包装在一个类中,并在stringlist项的对象中引用它。当然,在释放stringlist时,您需要注意正确释放包装器实例。使用最近的Delphi版本,可以通过使用stringlist的“OwnsObjects”参数轻松完成。
答案 1 :(得分:1)
我认为您需要存储变体记录的地址:
List..AddObject('Item1',TObject(@v));