vs2005 串口通信控件 MSCOMM

时间:2022-06-01 18:46:20
注册表里面已经注册了 MSCom控件 ,但在vs2005里面  就是不能运行!!!
不知道为什么  难道不VC6.0的控件在VS2005里面就不能用了吗    

CoCreateInstance of OLE control {CDE57A43-8B86-11D0-B3C6-00A0C90AEA82} failed.
>>> Result code: 0x80040154
>>> Is the control is properly registered?
Warning: Resource items and Win32 Z-order lists are out of sync. Tab order may be not defined well.
Warning: CreateDlgControls failed during dialog init.
The program '[cd9df75e] dghg.exe' has exited with code 0 (0x0).

以上  是我添加了DataGrid 控件 DEBUG 之后 出现的问题   在注册表里面已经注册过了    

5 个解决方案

#1


可能真的是版本之间的问题,你最好是把MSCom控件在VC6.0下用静态链接库编译,让他成为绝对了二进制代码 不依赖MFC或Windows的动态链接库
或其他文件,然后再在VS里面使用。这样最好了。

#2


能说一说具体怎样做吗

#3


摘自刚才回答的 一个帖子

首先检查一下你的控件在你所注册安装的机器上是不是真正的注册了,序列号之类的问题。 

另外用Depends查看一下是不是MSComm控件还依赖其他的DLL或MFC类库, 
至少我下载了一个MSComm控件,用ViewDLL查看,可以看到里面有一个oleaut32.dll 
跟它同名的lib  OLEAUT32.LIB在C:\Program Files\Microsoft Visual Studio\VC98\Lib这个文件夹下. 
是不是这说明一定的问题啊?

如果Mscomm只支持到VC6.0的话,那你在VS2008中使用这个控件最好是再安装一个VC6.0,首先让Mscomm自己先运行起来。
然后再在2008中使用这个控件。自己在最后生成程序的时候记得用将VC6.0的那些文件也打包到你的程序里面去。

#4


这个有待实现了  

#5


怎么没反应了呢?帮忙顶下

#1


可能真的是版本之间的问题,你最好是把MSCom控件在VC6.0下用静态链接库编译,让他成为绝对了二进制代码 不依赖MFC或Windows的动态链接库
或其他文件,然后再在VS里面使用。这样最好了。

#2


能说一说具体怎样做吗

#3


摘自刚才回答的 一个帖子

首先检查一下你的控件在你所注册安装的机器上是不是真正的注册了,序列号之类的问题。 

另外用Depends查看一下是不是MSComm控件还依赖其他的DLL或MFC类库, 
至少我下载了一个MSComm控件,用ViewDLL查看,可以看到里面有一个oleaut32.dll 
跟它同名的lib  OLEAUT32.LIB在C:\Program Files\Microsoft Visual Studio\VC98\Lib这个文件夹下. 
是不是这说明一定的问题啊?

如果Mscomm只支持到VC6.0的话,那你在VS2008中使用这个控件最好是再安装一个VC6.0,首先让Mscomm自己先运行起来。
然后再在2008中使用这个控件。自己在最后生成程序的时候记得用将VC6.0的那些文件也打包到你的程序里面去。

#4


这个有待实现了  

#5


怎么没反应了呢?帮忙顶下