设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 26904|回复: 83

[其它] 完美解决“无法装载这个对象”的困扰

[复制链接]

点击这里给我发消息

发表于 2013-6-26 03:31:11 | 显示全部楼层 |阅读模式
本帖最后由 鱼儿游游 于 2013-6-26 03:45 编辑

       问题表述:如果我们在编写程序时,如用到了ListView、TreeView、FlexGrid等控件,在不同电脑(甚至是本机)使用时,有可能会遇到一个很大的问题就是“无法装载这个对像,因为他不适用于这台计算机”。
       原因分析:是程序用到的控件(如: MSCOMCTL.OCX,一般在C:\WINDOWS\system32目录下)的版本不一致造成的。造成控件版本不一致的主要原因如下:
       1、调试程序与用户使用的环境不一致(如程序代码在WINDOWS XP下调试,在WIN7下运行),造成运行程序时有关控件(如:MSCOMCTL.OCX )的版本高于(或低于)调试程序时的版本。
       2、系统打了升级补丁。
       解决方案:
       1、.取得最新版本的控件,用新版本覆盖旧版本,手工注册控件。
       如:先把MSCOMCTL.OCX(目前最新版6.1.98.34)复制到C:\WINDOWS\system32目录下,然后注册控件(方法:点"开始-运行"  输入:Regsvr32  MSCOMCTL.OCX)。
       2、编写代码,让程序能自动引用调试时的有关控件(要求把有关控件和程序一起提交给用户),让程序自动注册有关控件。运行时,程序引用自带版本的控件。为此,我写了一个自动注册控件的示例,能很好地解决这个困扰。具体方法是:在程序运行时,先执行这个自动注册控件的函数(功能是:判断有关控件是否已注册,如没注册,则自动注册)。
       使用该函数时,要注意的是:最好在放到宏里执行,即:没打开任何窗体前运行(避免窗体有用到有关控件 )。

       全部代码在附件里。




游客,如果您要查看本帖隐藏内容请回复





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +10 收起 理由
todaynew + 10 很给力!

查看全部评分

发表于 2013-6-26 06:16:25 | 显示全部楼层
正需要这个,谢谢!
发表于 2013-6-26 07:04:48 | 显示全部楼层
收藏了
回复

使用道具 举报

点击这里给我发消息

发表于 2013-6-26 08:31:25 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2013-6-26 08:50:05 | 显示全部楼层
学习了
回复

使用道具 举报

点击这里给我发消息

发表于 2013-6-26 09:40:15 | 显示全部楼层
好方法, 顶一下

点击这里给我发消息

发表于 2013-6-26 09:41:01 | 显示全部楼层
好东西,谢谢分享
发表于 2013-6-26 16:43:47 | 显示全部楼层
其实mscomctl.ocx本身就是公用ActiveX插件控制模块。
发表于 2013-6-27 15:28:16 | 显示全部楼层
这个好,收藏
发表于 2013-6-27 21:50:05 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-19 07:56 , Processed in 0.112391 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表