我有一个用C#实现的COM服务器。它暴露了一个像这样装饰的类:
[ComVisible(true)]
[ProgId("MyServer.MyClass")]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
我用“regasm / codebase MyServer”注册了DLL。必须从WSC(在JScript中实现的COM服务器)中使用此服务器。因此我使用了AutoDispatch接口。
当WSC调用
时o = new ActiveXObject("MyServer.MyClass");
我收到错误“自动服务无法创建对象”。
我用这个C ++程序检查了COM服务器的注册:
hr = ::CoInitialize(NULL);
hr = ::CLSIDFromProgID(L"MyServer.MyClass", &clsid);
hr = ::CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IDispatch, (void**)&pObj);
并且能够创建对象。所有返回值都已检查为S_OK。
使Jserver可以访问COM服务器需要什么?
答案 0 :(得分:0)
您班级ole automation compatible中使用的类型是什么?我不知道jscript是否预先检查了oleautomation兼容性。
答案 1 :(得分:0)
如果问题是x64,请参阅Hot to make COM ActiveX object work in IE 64 bit?
的答案