作者AJE (小杰)
看板C_Sharp
标题[问题] 关於 C# 产生 VB6 元件的问题
时间Thu Jun 9 16:41:06 2011
小弟目前的工作中 有一部分是使用 C# 制作给 VB6.0 开发用的 COM 元件
最近遇到的问题是
供应商提供一套在 "C#" 上开发的 SDK
而我把此SDK再包一层介面给 VB6.0 使用
结果 VB6.0 在执行时 直接跳 Run Time Error-- Automation Error 出来
而如果在 C# 中 , 使用此 SDK 是可以正常运作的
我的程式架构大致如下
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)] //指示如果完全没有产生介面时,要向 COM 公开的介面所产生的类别介面型别。
public class MyClass
{
private VendorClass mTool;
public MyClass()
{
mTool = new VendorClass();
}
}
按照以上的写法 并使用 regasm 注册後
VB6.0 中可以看到 MyClass , 不过要产生 MyClass 的实体时 ,
程式就跳 Run Time Error-- Automation Error
例如:
Dim MyTool as MyClass
Set MyTool = New MyClass ' 这里就会跳 Run Time Error-- Automation Error
想请问有经验的版友
有没有什麽方法可以解决这个问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.231.175
1F:→ iiscon:C# 编译时目标平台有选X86吗? 06/11 16:09
2F:→ AJE:有选X86 後来抓到问题了 因为厂商提供的只能用 3.5 Framework 06/11 23:00
3F:→ AJE:不支援4.0..... 06/11 23:00