更新时间:2024-02-24 18:23
类不支持自动化(错误 430),并非所有的对象都能显露自动化接口。
此错误有以下原因和解决方法:
虽然在指定的 GetObject 或 CreateObject 函数调用中找到此类,但并没有显露编程的接口。
除非一个对象有支持自动化的接口,否则不能写代码来控制该对象的行为。检查创建此对象的应用程序的文档,以了解在此对象类上使用自动化的限制。
您将一个工程从 .dll 更改为 .exe,或从 .exe 更改为 .dll。如果您有一个已经编译并注册了的 .dll 服务器,然后您将工程类型更改为 .exe 并重新进行了编译,因为 .dll 和 .exe 已经在您的系统中注册了,因此您无法创建任何一个对象。您必须手工取消对旧的 .dll 或 .exe 的注册来避免这一问题。
发生这一问题的原因是工程兼容性和将工程从 .exe 更改为 .dll 综合造成的。在工程兼容性中,CLSID 被保留,而不是 IID 被保留。因为 CLSID 被保留,所以最后被注册的类带有两个服务器,一个是进程内服务器,另一个是本地服务器。当创建一个实例时,将选择进程内服务器。当发生界面查询时,.dll 不支持 IID,因为它是新的。
详细信息,可选取有问题的项目,并按下 F1 键。