如何在 Inno Setup 的 TNewComboBox.Objects 属性中存储 COM 对象?
我正在使用 Inno Setup 为我的应用程序创建安装程序。我当前正在使用当前计算机的 IIS 安装上的网站名称填充组合框 (TNewComboBox
)。现在我真正想做的是将 COM 对象与字符串一起存储在组合的对象属性中,但即使将 COM 对象包装在 TObject(xxx)
调用中,仍然会出现类型不匹配错误。
我在其他地方读到,TStrings
对象应该有一个 AddObject
方法,但它似乎不存在于 Inno Setup/Pascal Script 中。
I'm using Inno Setup to create an installer for my application. I'm currently filling a combobox (TNewComboBox
) with the names of the Web sites on the current machine's IIS install. Now what I really want to do is store the COM object alongside the string in the objects property of the combo but keep getting type mismatch errors, even when wrapping the COM object in a TObject(xxx)
call.
I've read in other places that the TStrings
object should have an AddObject
method but it doesn't seem to be present in Inno Setup/Pascal Script.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要投射,只需将其包裹在一个对象中即可。
不要忘记事后释放它(Delphi 的 tstringlist 缺乏“释放所有”功能)
Do not cast, just wrap it in an object.
Do not forget to free it afterwards (Delphi's tstringlist lacks "deallocate all" functionality)
Delphi 的
TStrings
类确实有AddObject
方法,但似乎 Inno 的 PascalScript TStrings 包装器没有 。但是,您应该能够像这样设置它:
Delphi's
TStrings
class does haveAddObject
method but it seems that Inno's PascalScript TStrings wrapper doesn't. However, you should be able to set it like this: