2010-11-25 53 views
0

我试图使用Windows作为SAP B1内的ActiveX控件。在该控件内部,我托管WPF控件。除了当我尝试将activeX对象投射到我的类时,它非常适用,因此我可以在我的类中使用所有方法。但是当我尝试这样做时,我得到一个异常。哪里不对?将activeX对象投射到我的对象上的问题

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

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

我得到的消息是: 无法转换类型“系统.__ ComObject”类类型“CapacityCalendarControl.CapacityCalendar”

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

您没有发布被轰炸的代码。 – 2010-11-25 15:08:46

回答

1

系统.__ ComObject(COM包装)的COM对象不能被投到.NET类。最简单的方法是使用TLBImport(类型库导入工具),我认为,如果你的ActiveX配备了.TLB(外部或嵌入式)。

请参阅这里了解更多:Tool for creating .NET wrappers for a COM DLL?

+0

但是我从网上装配制作了我的activeX,我无法将它转换回网装配,至少这是我从Tlbimp获得的。 – kamilw 2010-11-25 13:54:04