• 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 > 十万火急!我搞了3天也没搞出个东东:~-在线等待

十万火急!我搞了3天也没搞出个东东:~-在线等待

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

佚名通过本文主要向大家介绍了魁拔之十万火急,微信十万火急借款,十万火急,魁拔1 十万火急 电影,橡树 十万火急等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 十万火急!我搞了3天也没搞出个东东 :~- 在线等待
描述:

在开发ATL控件的时候选择了“支持MFC”选项之后,  
 
在VB,VF等开发环境里面不能使用ATL控件,VB提示  
 
“System  Error  &H80004005(-2147467259),不支持此接口”  
 
VFP提示“OLE  error  code  0x80004005:  Unspecified  error”  
通过调试发现只要将自己手动添加的三个属性宏去掉,
//PROP_ENTRY("DisplayNumber",1,CLSID_NULL)
//PROP_ENTRY("DispLegend",2,CLSID_NULL)
//PROP_ENTRY("BarStyle",3,CLSID_NULL)
问题就解决了,而一旦添加这三个宏其中的任何一个,在VB,VF里就会出现上面描述的症状。
现在的问题是:为什么属性持久性会失败?如果没有上面的宏,尽管ATL 为我
做了三对(get、put)函数,但是只能在运行的时候设置属性,并不能够显示持久性。


解决方案1:

这样做:
//PROP_ENTRY("DisplayNumber",1,CLSID_NULL)
//PROP_ENTRY("DispLegend",2,CLSID_NULL)
//PROP_ENTRY("BarStyle",3,CLSID_NULL)
将上面三个宏中的第二个参数,换成你COM类的IDL申明语言中关于这三个属性的ID号,也就是
说这个1,2,3是错误的,要根据IDL文件中的ID值来绑定属性值。
比如IDL中是这样的(ATL框架自动为你添加的代码)
[propget, id(5), helpstring("property DisplayNumber")] HRESULT DisplayNumber
[propget, id(6), helpstring("property DisplayLegned")] HRESULT DisplayLegned
[propget, id(7), helpstring("property BarStyle")] HRESULT BarStyle
那么你的宏应该这样:
PROP_ENTRY("DisplayNumber",5,CLSID_NULL)
PROP_ENTRY("DispLegend",6,CLSID_NULL)
PROP_ENTRY("BarStyle",7,CLSID_NULL)

解决方案2:

interface ISWBomInfo2 : IDispatch
{
    [id(1), helpstring("")] HRESULT ConnectServer([out]BSTR *strErrMsg, [out, retval]long *result);
};
这是不是ID号

解决方案3:

BEGIN_PROP_MAP does not save out the extent, that is, the dimensions of a property map, because an object using a property map may not have a user interface, so it would have no extent. If the object is an ActiveX control with a user interface, it has an extent. In this case, you must specify PROP_DATA_ENTRY in your property map to supply the extent.
Example
BEGIN_PROP_MAP( CMyClass )
PROP_DATA_ENTRY( "Width", m_nWidth, VT_UI4 )
PROP_DATA_ENTRY( "Height", m_nHeight, VT_UI4 )
PROP_ENTRY( "Property1", 1, CLSID_MyClassPropPage1 )
PROP_ENTRY_EX( "Caption", DISPID_CAPTION, CLSID_MyClassPropPage2, IID_IMyDual1 )
PROP_PAGE( CLSID_CMyClassPropPage3 )
END_PROP_MAP( )
不知道是否有用,如果你的atl有界面,用PROP_DATA_ENTRY()试试看


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

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

  • 如何在控件中编写对外接口?十万火急!先谢谢了
  • [十万火急]200分求Excel嵌入单文档视图后菜单隐藏的解决方案
  • 十万火急!mfc写入excel的问题!
  • 十万火急!求教com组件生产的tlh声明问题,看不懂,100分
  • !!!十万火急请教各位高手多线程问题!!!
  • 十万火急,有关线程的问题
  • 十万火急,关于线程的几个问题!
  • 在远程线程中创建文件,给出源码。十万火急!!!
  • ★★★多线程问题(200高分求救),十万火急!!谢谢了,请进★★★
  • 十万火急,关于键盘模拟输入的问题!!!!!

相关文章

  • 2017-06-04 求教高手:怎样通过JSP调用WORD,并能通过VBA控制word?
  • 2017-06-05 大家有没有用过PCI-1710A/D采集卡的?请教一下FIFOSize的问题。
  • 2017-06-04 经济萧条……送分送分啦!
  • 2017-06-04 ★★★wwwcsdncomcn★★★已经开通~目前正在测试阶段~!!
  • 2017-06-04 如何用GDI+的DrawImage早对话框的指定位置显示图像
  • 2017-06-05 这种奇怪的问题,有没有谁遇到过?
  • 2017-06-04 vc调用bcb编写的com组件可以吗?
  • 2017-06-04 js中如何实现调用activex带返回参数接口的方法
  • 2017-06-05 关于线程全局变量的一点疑惑,请指点
  • 2017-06-04 哪位大哥大姐有《InsideTheC++ObjectModel》中文版的,麻烦送我一本吧!

文章分类

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

最近更新的内容

    • 请问netuse命令对应的api函数是什么?
    • 怎样把Activex控件封装到DLL中?在DLL中捕获控件的事件?
    • 访问SAFEARRAY数据?谢谢了
    • COM的使用方法问题
    • ocx,dll打CAB包问题
    • 发现在com组件中使用内存映射大文件时出现内存不足的错误
    • 如何在辅助线程中安全的访问主线程控件?
    • TeeChart的使用。
    • vc串口通信
    • 想调试一个exe类型的COM组件,如何把它设置成自动开始服务?

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

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