• 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的模式(在设计模式还是在运行模式)的问题。

如何取得ACTIVEX的模式(在设计模式还是在运行模式)的问题。

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

佚名通过本文主要向大家介绍了activex 模式,禁止运行activex控件,运行activex控件,如何运行activex控件,安装或运行 activex等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何取得ACTIVEX的模式(在设计模式还是在运行模式)的问题。
描述:

我在修改一个ActiveX控件(也就是dsoframer控件,应该有人听过用过,有个商业的NTKO的office控件就是建立在那个基础上的),基本上按自己的要求改好了。
可最近发现一个问题,就是我的控件在VC及DELPHI开发工具中,有着不同的表现。在VC、网页以及ActiveX容器中表现正常,可在delphi无法正常显示。经我跟踪发现是控件在取得本身所处于的模式时(运行还是设计)引发了异常。具体的语句如下:
IDispatch *pdisp;
m_pClientSite->QueryInterface(IID_IDispatch, (void **)&pdisp));
VARIANT vtUserMode;
DISPPARAMS dspparm = {NULL, NULL, 0, 0};
hr = pdisp->Invoke(DISPID_AMBIENT_USERMODE, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD | DISPATCH_PROPERTYGET), &dspparm, &vtUserMode, NULL, NULL);
通过以上的方式来查询控件所处的模式,为什么在Delphi程序中运行不正常。当执行到Invoke方法时就产生了异常。
 
请高手们帮我分析一下。谢谢。


解决方案1:

那个函数就是COleControl类提供的,如果没有使用COleControl,我也不知道怎么获取。既然AmbientUserMode是COleControl的一个成员函数,那么组件本身当然随时可以调用。


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

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

  • VistaIE保护模式下ActiveX弹出无法GUI问题
  • 在PPT里面插入一个Activex,如何双击进入编辑模式?
  • 关于ActiveX在runtimemode的模式下如何改变大小。急!!!
  • 如何取得ACTIVEX的模式(在设计模式还是在运行模式)的问题。

相关文章

  • 2017-06-04 哪位达人给点拨一下:永久对象的作用!!谢谢
  • 2017-06-04 ATL中怎样使用微软form控件20???
  • 2017-06-05 如何在Atl中接收自定义消息?
  • 2017-06-04 OCX调用帮忙改一下,谢谢
  • 2017-06-04 修改IE属性怎样立即见效?
  • 2017-06-05 如何发送“点击”的消息??(俺是菜鸟)
  • 2017-06-04 使用zlib解压缩的一个问题求教!
  • 2017-06-04 求MSChart下载地址
  • 2017-06-05 我的程序如何取到当前程序的焦点?我需要向当前程序别的程序的焦点文本框输入字符,应该怎么做?
  • 2017-06-05 atl简单对象类成员变量的初始化

文章分类

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

最近更新的内容

    • 请教如何设置默认输入法?
    • 怎样列举系统中正在运行的所有进程
    • 再问关于IHTMLDocument2的问题
    • 请问我这样从一个程序暂停另一个程序错在哪里?
    • 问个dll内存共享问题将一个vector设置为共享内存
    • 如何获取其它程序弹出的对话框,将其关闭
    • COM与常规DLL那一个效率更高?
    • 难,COM组件已经注册到Googledesktop但是不能激发HandFile函数
    • 在DLL中如何得到自己这个DLL文件的创建时间,修改时间?
    • 如何在VC++60动态链接库编程中使用ActiveX控件?duhj

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

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