我正在使用 Inno Setup 为我的应用程序创建安装程序。我目前正在用TNewComboBox
当前机器的 IIS 安装上的网站名称填充组合框 ( )。现在我真正想做的是将 COM 对象与字符串一起存储在组合的 objects 属性中,但即使在TObject(xxx)
调用中包装 COM 对象时也会不断收到类型不匹配错误。
我在其他地方读到该TStrings
对象应该有一个AddObject
方法,但它似乎不存在于 Inno Setup/Pascal 脚本中。
我正在使用 Inno Setup 为我的应用程序创建安装程序。我目前正在用TNewComboBox
当前机器的 IIS 安装上的网站名称填充组合框 ( )。现在我真正想做的是将 COM 对象与字符串一起存储在组合的 objects 属性中,但即使在TObject(xxx)
调用中包装 COM 对象时也会不断收到类型不匹配错误。
我在其他地方读到该TStrings
对象应该有一个AddObject
方法,但它似乎不存在于 Inno Setup/Pascal 脚本中。
不要投射,只需将其包裹在一个物体中。
Type
TMyObjectForStringList = class
fCOMThingy : variant; // or ole variant
constructor create(comthingy:variant);
end;
constructor TMyObjectForStringList.Create(comthingy:variant);
begin
fcomthingy:=comthingy;
end;
myStringList.addobject(astring,TMyObjectForStringList.Create(avariant));
之后不要忘记释放它(Delphi 的 tstringlist 缺少“释放所有”功能)