• 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 > ActiveX纯idispatch方式的使用,帮我看看吧为什么我不能调用接口??

ActiveX纯idispatch方式的使用,帮我看看吧为什么我不能调用接口??

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

佚名通过本文主要向大家介绍了idispatch接口,idispatch,idispatch error 3092,idispatch error 3149,idispatch error 3088等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ActiveX 纯idispatch方式的使用, 帮我看看吧 为什么我不能调用接口??
描述:

我有一个ActiveX 组件,内有
[ uuid(C009BC30-BB91-4D53-AEFD-DE712F9E4F9C),
  helpstring("ODMA_AppInterface Control 的调度接口")]
dispinterface _DODMA_AppInterface
{
properties:
methods:
[id(DISPID_ABOUTBOX)] void AboutBox();
      [id(DISPID_FILEOPEN)] BSTR FileOpen();
      [id(DISPID_FILESAVE)] void FileSave( BSTR SaveFileName );
      [id(DISPID_FILESAVEAS)] void FileSaveAs( BSTR SaveAsFileName );
};
几个接口, 我想在Atl中使用,请问如调用这些接口呢???
我在机于对话框模式中写的一个测试. 代码如下:
{ 
    ::CoInitialize(NULL);
    // Create an instance of the Word application and obtain the 
    // pointer to the application's IDispatch interface.
    CLSID clsid;
    CLSIDFromProgID(L"ODMA_SYS.AppInterfacCtrl.1", &clsid);  
    IUnknown* pUnk;
    HRESULT hr ;
    hr= ::CoCreateInstance( clsid, NULL, CLSCTX_SERVER,
                            IID_IUnknown, (void**) &pUnk);
    if( FAILED( hr) ) MessageBox( "asfd11111");
    IDispatch* pDispApp;
    hr = pUnk->QueryInterface(IID_IDispatch, (void**)&pDispApp);
    if( FAILED( hr) ) MessageBox( "asfd222");
    // Get IDispatch* for the Documents collection object
    wchar_t* szFunction = OLESTR("AboutBox");
    DISPID dispid_Docs;
    hr = pDispApp->GetIDsOfNames ( IID_NULL, &szFunction , 1, 
                                   GetUserDefaultLCID(), &dispid_Docs );
    if( FAILED( hr) ) MessageBox( "asfd33333333");
    DISPPARAMS dpNoArgs = {
        NULL,
        NULL,
        0,
        0
    };
    VARIANT vResult;
    hr = pDispApp->Invoke ( dispid_Docs, IID_NULL, 
                            GetUserDefaultLCID(), DISPATCH_METHOD, 
                            &dpNoArgs, NULL, NULL, NULL);
    if( FAILED( hr) ) 
      MessageBox( "asfd444444"); // 被执行.
   CoUinitialize();
}
动行后会执行,  "asfd444444"
兄弟帮我看看吧..... 在线等... 


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

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

  • 实现了IDispatch接口的组件和ActiveX控件用起来有什么不同呢?我觉得一样可以用在Web页面上,为什么ActiveX控件还要多实现那么多各种各样
  • 实现了IDispatch接口的组建,用vbscript怎么调用?
  • MSFlexGrid有一个Picture属性,是一个IDispatch接口指针,请问如何操作?
  • 怎样查询ActiveX控件的IDispatch接口每个ID代表函数
  • MFC实现IDispatch接口问题?
  • 如何hook住com接口的idispatch接口的虚函数invoke?
  • IDispatch双接口,自动化,是一样的东西吗
  • 如果一个组件实现IDispatch接口,那么能否是一个"自描述"的组件?
  • C++SDK怎么使用IDispatch接口实现函数管理
  • mfcdriller示例程序中,派生的IDispatch接口方法GetIDsOfNames的参数cNames是指什么?

相关文章

  • 2017-06-04 如何在vc中调用系统中已存在的com组件,比如cdontsnewmail
  • 2017-06-04 串口MSCOMM
  • 2017-06-05 关于用VC编写VB使用的DLL问题
  • 2017-06-05 请问什么是“位操作”?为什么析构函数必须得是虚的?“extern"c"”的具体含义?一个函数中malloc后,是否可以在函数外面再free?
  • 2017-06-04 directshow怎么调用自定义接口啊
  • 2017-06-05 谁能解释一下线程句柄和线程ID的区别和联系?
  • 2017-06-04 关于技术内幕存疑解惑!
  • 2017-06-05 谁编过线程的输入队列合并的问题(AttachThreadInput(),PostThreadMessage())
  • 2017-06-05 进程多次LoadLibrary同一个动态库而不FreeLibrary行吗?这样的话动态库在内存中是几份?
  • 2017-06-04 TChart控件Interfacenotsupoorted

文章分类

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

最近更新的内容

    • ATL简单对象的向导中,"Addfiletype"这个步骤是做什么的?
    • extern"C"_declspecdllexport谁能给解释一下这条语句?
    • ATL中能不能使用winsock2的函数,如何使用?
    • 请问typelibrarymarshaling是什么意思?还有别的marshaling吗?
    • ActiveX控件调用ActiveX控件
    • dll和ado会冲突吗?
    • VB和VC直接怎样通过dll来共享数据?
    • 牙科改行,申请做版主,感谢大家支持
    • 高手帮忙看看IDC_TEXTCHAT是什么控件?
    • 关于控制台程序的命令写入,请指教。

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

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