C++ 基于Microsoft ATL的COM示例不起作用
这对我来说是一个非常奇怪的问题 我直接从Microsoft All-In-One代码框架系列下载了一个COM示例,分为两个版本:和C++ 基于Microsoft ATL的COM示例不起作用,c++,dll,vbscript,com,inproc,C++,Dll,Vbscript,Com,Inproc,这对我来说是一个非常奇怪的问题 我直接从Microsoft All-In-One代码框架系列下载了一个COM示例,分为两个版本:和 我使用C++样本。我能把两者都编译好。两者都已注册 我能够通过VBScript客户端使用EXE对象。但是,我将客户端更改为使用DLL客户端,并出现以下错误: ActiveX组件无法创建对象 我的系统是Windows 7 64位。COM组件是32位的,但是对于EXE组件,客户端可以同时使用32位和64位脚本主机,而DLL组件则不能同时使用这两个主机 如何为DLL编写脚
我使用C++样本。我能把两者都编译好。两者都已注册
我能够通过VBScript客户端使用EXE对象。但是,我将客户端更改为使用DLL客户端,并出现以下错误: ActiveX组件无法创建对象 我的系统是Windows 7 64位。COM组件是32位的,但是对于EXE组件,客户端可以同时使用32位和64位脚本主机,而DLL组件则不能同时使用这两个主机如何为DLL编写脚本?进程内DLL是否支持后期绑定IDispatch接口?@Bond是的,两个对象都继承IDispatch,后者由ATL实现。除了EXE或DLL部分外,它们完全相同。既然您提到它是一个32位组件,您知道它是否正在使用32位版本的REGSVR32注册吗?也就是说,在SysWOW64中找到的一个。请更多注意生成警告。除非运行Visual Studio以使其能够写入注册表,否则DLL项目通常无法注册自身。右键单击VS快捷方式并选择“以管理员身份运行”。@债券注册可以。我可以在系统注册表中找到这两个guid。