路径是对的,错误是这种。感觉像是配置的时候少东西了。
1> due to following members:
1> 'HRESULT IUnknown::QueryInterface(const IID &,void **)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(116) : see declaration of 'IUnknown::QueryInterface'
1> 'ULONG IUnknown::AddRef(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(120) : see declaration of 'IUnknown::AddRef'
1> 'ULONG IUnknown::Release(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(122) : see declaration of 'IUnknown::Release'
解决方案 »
- vector subscript out of range和Detected memory leaks!
- 我在基于对话框的MFC程序中,设置了一个static控件,想用来显示资源中的bitmap,并且在oninitialdlg中添加了代码,编译通过了,但总是debug中出问题,请大家看看
- 如何利用win32api在使用了dx9的游戏中创建窗口
- 请教WM_ERASEBKGND
- 分析一下HelloWorld窗口程序
- ActiveX中的焦点问题!
- MSN登录问题(https协议)
- 请教高手,关于数据库。
- 江湖救急!哪位大虾能给出一个在VC中嵌入Microsoft Word的例子,不胜感激!
- 两台不同局域网上的机器能否通过各自的代理服务器建立socket连接?若能,如何连接?
- ActiveSkin与VC2010不兼容吗
- ActiveSkin能在VC2010里使用吗?
路径是对的,错误是这种。感觉像是配置的时候少东西了。
1> due to following members:
1> 'HRESULT IUnknown::QueryInterface(const IID &,void **)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(116) : see declaration of 'IUnknown::QueryInterface'
1> 'ULONG IUnknown::AddRef(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(120) : see declaration of 'IUnknown::AddRef'
1> 'ULONG IUnknown::Release(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(122) : see declaration of 'IUnknown::Release'看样子你是用ATL建了一个activeX控件。你是怎么用在MFC程序里的,能说下步骤吗,或者给出代码也行。这些提示,说明不了什么问题。
路径是对的,错误是这种。感觉像是配置的时候少东西了。
1> due to following members:
1> 'HRESULT IUnknown::QueryInterface(const IID &,void **)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(116) : see declaration of 'IUnknown::QueryInterface'
1> 'ULONG IUnknown::AddRef(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(120) : see declaration of 'IUnknown::AddRef'
1> 'ULONG IUnknown::Release(void)' : is abstract
1> c:\program files\microsoft sdks\windows\v7.0a\include\unknwn.h(122) : see declaration of 'IUnknown::Release'看样子你是用ATL建了一个activeX控件。你是怎么用在MFC程序里的,能说下步骤吗,或者给出代码也行。这些提示,说明不了什么问题。我是看VC知识库的那个《COM实用入门教程》里讲的方法。
步骤很简单:
用MFC创建一个ALT项目,写上名字,然后所有的设置都不用改,直接创建。
再添加一个类,选择ATL简单对像,添加上一个COM控件,写上名字,其他的设置也不用改。(PS:测试的时间需要在控件上添加上方法,这里没有添加)
编译,会自会注册COM控件。
然后,就是在MFCk上测试COM控件,就是在stdafx.h中引用 com名.h 文件 ,stdafx.cpp中添加 com名_i.c 文件,就可以正常使用控件了。
就这几步,教程里用提VC2005,我用VC2005做的时候,也没有问题,不过用VC2010的时候就出现问题了。VC2010在添加com控件的时候需要界面是一样的话,但有一点小小的不现,就是VC2005在给com控件加上名字的时候,其他所有的属性都会有默认的名字,不过VC2010有一个属性值不会有默认的名字,就是ProgID。
我看过用这方法的教程,都是用VC6.0作为实例,我用这种方法在VC2010上试,照样也不行。不知道VC2010是不是对COM的使用有什么改变
额,这个我已经查过了。VC6.0和2005都已经可以用了,只是2010出问题。VC2010+COM的资料确实比较少
我看过用这方法的教程,都是用VC6.0作为实例,我用这种方法在VC2010上试,照样也不行。不知道VC2010是不是对COM的使用有什么改变他说的是用#import导入.tlb文件,这个办法没问题。VS2010应该没那么水吧,多半是自己使用的有问题。
FileTool.exe 替换打开和添加到项目中 Visual C++ 的新功能 http://support.microsoft.com/kb/241396/zh-cn
所有版本的VC、所有开发语言编译出的COM都一样用。