delphi - 将变体值存储在 TStringList 的对象属性中

标签 delphi delphi-2007

我需要将变体值存储在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/

相关文章:

delphi - 如何让 Pears Html Viewer 加载并显示 unicode HTML 文件?

mysql - IDE 中的 SQL 组件连接问题

delphi - 如何从图标中提取特定尺寸的图像?

delphi - 在另一个线程中引发异常

Delphi:如何检查是否按下了任何鼠标按钮 - 在鼠标事件之外?

windows - MulDiv 是否比存储已知值和在其他代码中进行数学计算效率低

delphi - 无法查看和使用自定义 VCL 样式

delphi - Delphi 是否有任何工具或插件可以用来帮助重构非面向对象的代码?

Delphi Chromium - 迭代 DOM

delphi - TStringList 拆分错误