我试图使用C ++创建一个最小的ActiveX控件,而不使用ATL或MFC。到目前为止,我已经创建了一个COM对象,它使用单个方法AboutBox()实现自定义双接口。我现在希望能够在VB6设计时环境中显示一个小矩形,但在运行时不显示任何GUI(例如,Common Dialog控件)。目前我没有设想有任何活动。
通过一系列我完全不承认无法解释的事件(我一直在攻击注册表以使我的CLSID /类型库键看起来像“真正的控件”的设置),我已经设法得到了控件出现在VB6组件对话框中。它现在甚至加载,我在工具栏上得到一个代表我控制的黑色“图标”。我可以把它拖到表格上。但是,它崩溃了“系统错误& H80004005”。
在调试控件的QueryInterface方法时,我会查询以下IID:
我实际需要实施多少这些?我认为我将使用的唯一属性是属性。
(注意:实际的错误代码是E_FAIL未指定的失败0x80004005)。