我需要将变体值存储在TStringList
中,到目前为止我尝试这样做
var
list : TStringList;
v : OleVariant;
List..AddObject('Item1',v);
或
List..AddObject('Item1',TObject(v));
但在这两种情况下,代码都无法编译,因为类型转换无效或类型不兼容。
所以问题是,我如何在 TStringlist 中存储变体值?
最佳答案
我认为唯一的方法是将您的变体包装在一个类中,并将对该变体的引用放入字符串列表项的对象中。当然,您需要注意在释放字符串列表时正确释放包装器实例。使用最新的 Delphi 版本,可以通过使用字符串列表的“OwnsObjects”参数轻松完成。
关于delphi - 将变体值存储在 TStringList 的对象属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412747/