将activeX对象强制转换为对象时出现问题

时间:2010-11-25 12:51:18

标签: winforms com wpf-controls activex

我正在尝试在SAP B1中使用Windows From作为ActiveX控件。在该控件内部我主持WPF控件。它很好用,除非我尝试将activeX对象强制转换为我的类,所以我可以使用我班上的所有方法。但是当我尝试这样做时,我得到了一个例外。有什么问题?

我做了注册和所有这些事情。我甚至可以使用一些手工制作的数据(在控件构造函数中初始化)在SAP中显示该控件。虽然我不确定这是否是更普遍的问题而不是SAP特定的。

欢迎任何建议,并提前致谢。

我得到的信息是: 无法将类型为“System .__ ComObject”的COM对象强制转换为类类型“CapacityCalendarControl.CapacityCalendar”

[Guid("9A2F1CCB-8DC0-4CE5-B3C7-403A1A8CDCE2")]
[ProgId("kamil.calendar.control")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
public partial class CapacityCalendar : UserControl
{
  //internals...
}

1 个答案:

答案 0 :(得分:1)

System .__ ComObject(COM包装器)无法强制转换为.NET类。最简单的方法是使用TLBImport(类型库导入工具),我认为,如果你的activeX配备了.TLB(外部或嵌入式)。

请点击此处了解详情:Tool for creating .NET wrappers for a COM DLL?