CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

UP有分!如何注册程序中所使用的控件?

楼主acf(叶开)2003-09-02 21:41:48 在 VC/MFC / 基础类 提问

编程时使用了mscomm、   ms   flexgrid和ms   form   lable三个控件,都是从系统已注册控件中找到的。在使用SetupFactory6。0制作安装程序时,已经用regsrv32注册了这三个控件所对应的ocx或者dll文件。但是不知道为什么在2000中就是无法运行安装后的程序。必须安装office2000和vc6后,程序才能运行。而且把office和vc反安装后,程序也能运行!谁能告诉我,究竟为什么!!! 问题点数:100、回复次数:30Top

1 楼asign(局外人@http://blog.csdn.net/asign)回复于 2003-09-02 21:49:34 得分 1

可能是某个dll的问题。建议查查。Top

2 楼maohbao()回复于 2003-09-02 22:28:16 得分 1

我不知道!Top

3 楼acf(叶开)回复于 2003-09-05 10:14:42 得分 0

各位大侠帮帮忙撒!  
  很急的啦!Top

4 楼newly_ignorant(不学无术)回复于 2003-09-05 10:31:26 得分 5

问题出在你是动态创建的控件。ActiveX控件的License有两种:设计时和运行时。如果你在对话框上放置控件,编译时运行时License会自动加到EXE中,所以你分发的时候即使用户机器上没有安装VC也可以运行。而你动态建立控件时没有运行时License,控件无法建立。如果机器上安装了VC,虽然没有运行时License,但控件可以在注册表中找到有关信息,所以也可以工作。  
   
  微软的解决方法就是;  
  http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q151/8/04.asp&NoWebContent=1Top

5 楼warmchang(风滑过的痕迹)回复于 2003-09-05 11:17:56 得分 5

不错,就是这篇文章:  
  http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q151/8/04.asp&NoWebContent=1&NoWebContent=1  
   
  你其实可以在程序界面中放置一个你用到的控件(虽然你并不会真正的用到它),这样就可以避免你所说的问题了,^_^  
   
  顺便帮你顶。  
   
  Top

6 楼chen_pin(小品)回复于 2003-09-07 10:14:44 得分 1

关注Top

7 楼acf(叶开)回复于 2003-09-07 18:28:30 得分 0

我的程序中应该不是动态创建的控件。我所使用的控件都是从工具栏上拖动到对话框上。  
  另外,在一个干净的2000系统中,如果手动注册了那三个文件后,再安装Vc(不安装ActiveX),然后用VC打开工程文件时,可以发现Form   Lable和MSCOMM控件都不能初始化,不能在对话框上正确显示,而FlexGrid却可以。这又是为什么呢?  
  而且,用depend工具查看我的程序,也没有显示需要那三个文件啊。  
  究竟是为什么?到底如何解决呢?请大家帮我顶啊!Top

8 楼feeboby(rockの终点)回复于 2003-09-08 10:08:04 得分 1

upTop

9 楼luoxiangdong(敏捷软件开发团队)回复于 2003-09-08 10:17:15 得分 1

你进了微软的Dll地狱了!!呵呵Top

10 楼acf(叶开)回复于 2003-09-08 10:30:09 得分 0

Dll地狱?难度是因为DLL版本的原因?应该不是吧Top

11 楼ayanamiwww(咩~咩『抵制日货』)回复于 2003-09-08 10:36:14 得分 1

接分!^_^Top

12 楼warmchang(风滑过的痕迹)回复于 2003-09-08 10:48:35 得分 2

mscomm、   ms   flexgrid和ms   form   lable三个控件需要其他的支持库,用depend看看吧!Top

13 楼simouse()回复于 2003-09-08 10:55:39 得分 1

upTop

14 楼acf(叶开)回复于 2003-09-08 10:57:43 得分 0

你是说要用Depend查看那三个文件吗?我试试Top

15 楼hitwd2000(东邪王七)回复于 2003-09-08 11:06:29 得分 1

upTop

16 楼jianxin_js(兔)回复于 2003-09-08 11:16:34 得分 1

学习Top

17 楼bbgbianbaogui()回复于 2003-09-08 11:17:54 得分 1

up  
  Top

18 楼xiaofei7569(夏雁)回复于 2003-09-08 11:44:20 得分 1

学习中。Top

19 楼zjunlucky(幸运小子)回复于 2003-09-08 11:56:41 得分 4

我在vb中碰到过类似的问题:  
  1、有可能是你做安装包的时候,文件组里的自注册文件没有设置好,每个自注册ocx或dll文件在他的属性里都有标明:selfregister,不能出错的!  
  2、也有可能是缺少相关的dll文件,比如msvcp60.dll,msvcrt.dll等。Top

20 楼gjgj3368(冷面修罗)回复于 2003-09-08 12:07:51 得分 1

学习Top

21 楼fanfyj(鸬鹚.NET)回复于 2003-09-08 12:26:07 得分 1

upTop

22 楼PaPaCong(小勇)回复于 2003-09-08 12:28:25 得分 1

regsvr32   xxx.dllTop

23 楼zhengoodman(伤心小箭--甩一个人需要理由吗?)回复于 2003-09-08 12:40:12 得分 1

upTop

24 楼xiaohedou(小河豆(充电中.18%.))回复于 2003-09-08 13:00:11 得分 1

look   &   studyTop

25 楼yushulei(永远)回复于 2003-09-08 13:07:55 得分 1

gzTop

26 楼cx0928(阳光)回复于 2003-09-08 13:23:44 得分 2

可能是作安装包时缺少了某个控件的selfregistryTop

27 楼Purpleendurer(编程—>任是无情也动人^_^)回复于 2003-09-08 14:14:42 得分 1

UPTop

28 楼maggice()回复于 2003-09-08 22:04:34 得分 60

你是不是只注册了fm20.dll,这个只是英文版的,如果需要中文支持还要再注册fm20chs.dllTop

29 楼matq2008(叶子.net)回复于 2003-09-08 22:22:45 得分 4

mscomm32等均有license号,你不仅要注册,还要在注册表中写入一些东东:Top

30 楼acf(叶开)回复于 2003-09-08 22:23:18 得分 0

问题已解决,的确是maggice所说的那样  
  同时也谢谢所有帮忙解决和up的兄弟,呵呵  
  结贴,给分Top

31 楼matq2008(叶子.net)回复于 2003-09-08 22:24:06 得分 0

1)       如果操作系统是windows2000将MSCOMM32.ocx文件拷入c:\winnt\system32\  
  (2)    如果操作系统是windows2000     在运行中输入 regsvr32         c:\winNT\system32\Mscomm32.ocx  
  (3)regedit  
  (4)找HKEY_CLASSES_ROOT\Licenses,在其中添加主键  
                          4250E830-6AC2-11cf-8ADB-00AA00C00905  
        其内容为:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun  
   
  //当然你也可以用代码来实现上面的步骤了    
  :-)  
  Top

相关问题

  • 如何用程序注册控件。
  • 如何用程序注册ocx控件
  • 在程序中注册ActiveX控件(.OCX)
  • 使用delphi3.0的smtp或tcp控件编出的程序运行时出现"类没有注册"?
  • ActiveX控件如何注册和使用?
  • 求助,在程序中使用了第三方的控件,需要把dll拷到system下并注册,请问如何打包成安装程序啊
  • 如何在应用程序中注册ActiveX控件?
  • 如何在VC++程序中注册一个ActiveX控件
  • 安装程序中怎样注册一个控件呢?
  • 如何在程序中注册一个控件

关键词

  • windows2000
  • 控件
  • 文件
  • 安装
  • 注册
  • vc
  • 解决
  • dll
  • microsoft
  • 程序

得分解答快速导航

  • 帖主:acf
  • asign
  • maohbao
  • newly_ignorant
  • warmchang
  • chen_pin
  • feeboby
  • luoxiangdong
  • ayanamiwww
  • warmchang
  • simouse
  • hitwd2000
  • jianxin_js
  • bbgbianbaogui
  • xiaofei7569
  • zjunlucky
  • gjgj3368
  • fanfyj
  • PaPaCong
  • zhengoodman
  • xiaohedou
  • yushulei
  • cx0928
  • Purpleendurer
  • maggice
  • matq2008

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo