【发布时间】:2014-11-07 15:27:04
【问题描述】:
Delphi XE6 - 我正在使用 AddInExpress 创建一个基于 COM 的 Excel 插件。到目前为止一切正常。我添加了一个功能区菜单,用户可以单击它来显示特定信息。我想在一个名为 HTMLPopup 的组件中展示这一点(由 TMS Software 提供)。它是一种弹出式表单,旨在显示基于 HTML 格式的信息。组件声明为
HTMLPopup := THTMLPopup.Create(AOwner: TComponent);
我的挑战是我没有(或无法弄清楚)什么是适用的所有者。由于这是一个 LIBRARY/DLL,我没有“拥有”它的表单。
我试过设置
HTMLPopup := THTMLPopup.Create(self); // Errors on compile, SELF undeclared
当我将所有者设置为数据模块时,我会在运行时获得一个 AV。
我试过设置
HTMLPopup :=THTMLPopup.Create(Application); //Again, error at runtime.
as well as ... HTMLPopup :=THTMLPopup.Create(nil); //Again, error at runtime.
我发现它的唯一解决方法是创建一个表单,但将其隐藏,然后创建我的 HTMLPopup,所有者是我的隐藏表单。这似乎是一种“kludgey”。这是正确的做法吗?
谢谢
【问题讨论】:
标签: delphi dynamic dll com parent