MFC对话框插入使用activeX控件

ZClOUD_YANG 2016-07-13 03:02:43
原对话框中插入一个ocx的activex控件,添加了控件类变量,并自动生成了控件的类,可以正常调用控件的方法和属性。但最近控件更新了方法和名字,重新插入后,添加变量但控件类型还是原来的名字,原来方法,没有更新。删除掉原来的类后添加变量,变量的类型还是原来的不能改变。 求高手指导如何更新插入的控件。
...全文
2259 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsf007 2019-06-25
  • 打赏
  • 举报
回复
ZClOUD_YANG 2016-07-16
  • 打赏
  • 举报
回复
首先感谢大家的关心和给予的帮助支持。最终 找到了解决方案 在这里给大家公布下,以帮助更多的人。 http://www.cnblogs.com/scotth/p/3667192.html 解决办法: 更新activeX方法:(更新ocx接口:) 删除ocx变量定义和变量映射(DDX_Control) 删除ocx对应的.h和.cpp文件 关闭工程 用文本编辑器删除工程文件(所有.vcproj)里的有关ocx信息(1.<Globals>里面2.project里的最后有关上次控件类名的那一行) 打开工程 重新添加ocx变量解决
schlafenhamster 2016-07-14
  • 打赏
  • 举报
回复
删除 除 dsw dsp 外 其余 工程文件( aps clw ncb opt plg)试试
ZClOUD_YANG 2016-07-14
  • 打赏
  • 举报
回复
在不同的目录下 创建一个和当前项目同名的对话框项目,然后插入控件, 关联控件变量, 保存项目, 把新生成的控件的.h .cpp拷贝过来,覆盖到原来项目中 注意备份 新建了项目也重新生成(跟原来类型和类名一致的情况和新控件系统自动生成的情况)都分别复制了,但运行会出现 “无效的参数数目”框题, 但调用的那个函数类型和个数都是正常的。关键问题是新插入的控件名字跟原来的不一样,同时新控件里有更新的方法。若是在新项目里新生成的话是新控件名字的类名和变量类型,但是在原项目同样插入新控件但变量类型还是原来的无法修改。怎么能让原来的控件类型改变(就是相当于没有加载过控件的初始化状态怎么还原)。帮忙分析下原因或者给出彻底的解决办法。谢啦 !
许文君 2016-07-14
  • 打赏
  • 举报
回复
第一先确认你active控件是否有问题,可找台没有注册过的电脑看看接口是否有暴露,如确认这没问题在继续。 然后,其实3-7#讲述的都差不多,该方法可行,更新完之后重新注册并生成类正常情况即可,即使你智能提示还是原来的接口都没关系,直接手工输你新方法即可。出现该情况原因比较多,可以看成是你调用的时候vs还会在缓存目录下生成了一些声明文件等,所以可行的方式是关闭vs,找到该缓存的目录并清理(或视情况重启下),重新打开并引入active控件应该就行了。还不行就换台电脑,编译完了再迁回来,或者可考虑通过标准com来调用而不通过包装类
encoderlee 2016-07-14
  • 打赏
  • 举报
回复
1.更新控件时先用regsvr32反注册老控件,然后用regsvr32注册新控件 2.删除插入到对话框上的控件,删除生成的成员变量,删除生成的.h .cpp文件,清理解决方案
zgl7903 2016-07-13
  • 打赏
  • 举报
回复
在不同的目录下 创建一个和当前项目同名的对话框项目,然后插入控件, 关联控件变量, 保存项目, 把新生成的控件的.h .cpp拷贝过来,覆盖到原来项目中 注意备份
ZClOUD_YANG 2016-07-13
  • 打赏
  • 举报
回复
引用OCX对象后,会生成对应的.h .cpp文件,要一起删除,再重新添加OCX生成.H .CPP。 --删除.h和.cpp后(包括原文件)重新,插入添加变量,但是变量类型还是原来的控件类型不能改变。可是新控件的名字已经改变了。 或者,直接在原来自动生成的.H .CPP里修改成控件最新的属性和方法。 ---手动改过相应的方法和参数类型后,运行会出错。。。。
homesos 2016-07-13
  • 打赏
  • 举报
回复
或者,直接在原来自动生成的.H .CPP里修改成控件最新的属性和方法。
homesos 2016-07-13
  • 打赏
  • 举报
回复
引用OCX对象后,会生成对应的.h .cpp文件,要一起删除,再重新添加OCX生成.H .CPP。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧