• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 关于类的问题!!设计到了COM接口,所以望高手指点!!!!!!!!

关于类的问题!!设计到了COM接口,所以望高手指点!!!!!!!!

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了指点江山,指点迷津,指点,指点迷津的意思,指点杆等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于类的问题!!设计到了COM接口,所以望高手指点!!!!!!!!
描述:

最近做东西遇到问题!!望高手指点!!
在网上看到一个类,放在自己机子上却不行:
以下是类的.h文件中的代码:
///////////////////////////////////////////////////////////////
// active speech engine
//
#include 
extern CComModule _Module;  //定义全局变量
#include 
#include 
#include 
#include 
///////////////////////////////////////////////////////////////
// speech message
//
#define WM_SREVENT WM_USER+102
class CSpeechRecognition 
{
public:
CSpeechRecognition();
virtual ~CSpeechRecognition();
// initialize
BOOL Initialize(HWND hWnd = NULL, BOOL bIsShared = TRUE);
void Destroy();
// start and stop
BOOL Start();
BOOL Stop();
BOOL IsDictationOn ()
{
return m_bOnDictation;
}
// event handler事件句柄
void GetText(WCHAR **ppszCoMemText, ULONG ulStart = 0, ULONG nlCount = -1); //ULONG 64位数据类型
//WCHAR **指向16位指针的指针
// voice training语音训练
HRESULT VoiceTraining(HWND hWndParent);// hWndParent父句柄
//HRESULT存放返回值信息
// microphone setup麦克风安装
HRESULT MicrophoneSetup(HWND hWndParent);
// token list
HRESULT InitTokenList(HWND hWnd, BOOL bIsComboBox = FALSE);
// error string
CString GetErrorString()
{
return m_sError;
}
// interface  CComPtr创建COM实例
CComPtr m_cpRecoEngine; // SR engine
CComPtr m_cpRecoCtxt; //Recognition contextfor dictation
CComPtr m_cpDictationGrammar; // Dictation grammar 
private:
CString m_sError;
BOOL m_bOnDictation;
};
编译后提示了4个错误!不过是2个一样的.也就是有2个错误.
speechrecognition1.h(17) : error C2146: syntax error : missing ';' before identifier '_Module'
speechrecognition1.h(17) : fatal error C1004: unexpected end of file found
语音识别Dlg.cpp
speechrecognition1.h(17) : error C2146: syntax error : missing ';' before identifier '_Module'
speechrecognition1.h(17) : fatal error C1004: unexpected end of file found


解决方案1:

ATL中引入类模板是为了编程更容易,CComPtr是典型的类模板,需要接收参数:
比如:
CComPtr<IGoogleDesktopRegistrar> spRegistrar; //其中IGoogleDesktopRegistrar是接口
        //创建spRegistrar类。其中类的私有数据是IGoogleDesktopRegistrar* 指针。
spRegistrar.CoCreateInstance(CLSID_GoogleDesktopRegistrar);//返回一个IGoogleDesktopRegistrar接口指针
那么以后就可以用spRegistrar->的方式使用接口的方法了。

解决方案2:

CComModule的定义在atlbase.h文件中,要用的话要在定义对象之前#include <atlbase.h>

解决方案3:

这个问题我以前也遇到过,问题出在extern CComModule _Module;  //定义全局变量
可能你的框架和你找这个类所在工程的框架类别不同,
可以试着在用到_Module的地方用__super::替换


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 我想在程序中实现WORD的编辑,并能保存用什么控件好?请各位高手指点
  • 有人能指点一下淘宝旺旺的页面调用是怎么实现的么
  • 谁可以指点一下,如何把DATE类型转换成CHAR[],谢谢了
  • 如何在右键菜单里添加自己编写的功能望指点
  • 求大神指点,如何添加控件变量
  • 新人没分了,求大神指点下JS调用OCX的问题!!谢谢
  • 如何让程序每次开机自动执行?请指点!
  • 如何让程序每次开机自动执行?请指点!
  • 有关文件映射问题,请各位指点!
  • 有個問題解決不了,請人指點

相关文章

  • 2017-06-04 求救COM问题
  • 2017-06-04 很奇怪,谁遇过这样的问题
  • 2017-06-05 怎么样等待一个工作线程结束!!!
  • 2017-06-04 怎么通过一个已知的OCX文件名获取它的ProgID?急,谢谢大家
  • 2017-06-04 MAP添加数据,执行报错
  • 2017-06-05 一个问题,大家都来看看
  • 2017-06-04 wtl对话框中如何实现WindowProc?
  • 2017-06-05 谁知道怎么从执行文件,推算VC++的原代码呀?
  • 2017-06-05 DLL里面封装对话框,该如何调用?
  • 2017-06-05 请问怎么在vc下调用vb写的dll?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 1000分,急!Win98下,对于Kernel32dll模块,VirtualProtect无法改变其不可写属性,如何改变?
    • 请问为什么IE加载不了ActiveX控件
    • 刚学习一些window编程,有个问题,不知道怎么回事,帮忙看下
    • wtlvs2008如何在对话框中添加tab
    • 我说写个播放MP3的小程序,可我电脑没有ActiveMovie3这个控件的文件amovieocx,哪位大侠能发一个给我呀
    • 小妹求教各位大侠(急用):如何在VC++中调用exe文件
    • 各位进来讨论一个DLL的问题。
    • 在工作线程中调用Dao
    • RMB或QB跪求一技术老师
    • 除了TerminateThread还有什么更好的办法从外部中断一个阻塞的线程吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有