|
1
2
由于您正在使用C++客户端,因此应该明确使用早期绑定的显式接口。调度接口在使用脚本客户端(如VBS)时很有用,但它们对于C++客户端来说很少有用。 版本化接口的唯一方法是创建一个新接口(可能继承自原始接口)。当使用显式接口时,您可以完全控制这个过程。 这意味着您应该为打算通过COM公开的每个类创建一个接口。不要忘记用comvisible和guid属性标记每个接口和类。另外,所有类都必须有一个默认的构造函数。 |
|
|
2
1
您必须了解guid属性( including this )以保持二进制兼容性,并且仅在必要时重建客户端。 另外,您可能对ComVisible属性感兴趣, helps reduce registry pollution . |
|
|
3
1
要完全控制COM接口,请在MIDL中定义它们。在C++项目中构建具有这些接口的类型库,然后将类型库导入到C语言中,并实现接口。 这种方法对于复杂的接口很有用,因为在这些接口中,封送并不简单。 版本应该是COM样式,更改guid,添加新的或继承的接口。 |
|
Saravanan Sachi TheSharpieOne · 在VB中调用Excel函数的任何方法。NET作为Microsoft。办公室互操作。Excel在服务器中抛出未注册的类(REGB\u E\u CLASSNOTREG)? 8 年前 |
|
|
IS4 · 无参考的封送[in]参考 8 年前 |
|
|
Water Cooler v2 · 如何在Java中进行COM互操作? 8 年前 |
|
|
Aurora · C#到VB6互操作:索引数组属性不能跨嵌套COM接口访问 10 年前 |
|
|
Eugen · _bstr_r与_T(“”) 11 年前 |
|
|
Builder · 应用程序退出后留在内存中 11 年前 |