OXC控件注册不能显示

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:16:23
我有一个系统运行完全正常,但是我我今天重新做了系统,OCX控件也重新注册了,但是就是不能显示,有个叉号,安全控制中心我也全部启用了,请问是什么问题呢?
虽然问题没有解决,但是我还是非常感谢kingbo777和武当之星,谢谢你们,我在这先给kingbo777插下红旗,一会在给武当之星送分

你说的ocx控件多半是用VB写的,控件就是一个插件,他是其他应用程序运行时调用的一个类。
控件分为可视的和不可视的,可以嵌套调用。
扩展名为dll的是不可视的,也叫动态链接库
扩展名为ocx的是可视的,也叫控件
你的这个ocx一看就是一个嵌套的父控件,他在运行时需要调用Comcat.dll这个动态链接库,这个动态链接库是一个类库,可以被应用程序或控件或其他的动态链接库调用。
所以这里的连接不需要你自己去做,在控件中会写明在一个相对路径或某个绝对路径上去寻找一个固定文件名的Dll文件。
只要他找到了,这个控件就可以正常运行了。

Comcat.dll等DLL或OCX都是靠只有在注册表中注册才能起到作用; 注册表中保存有DLL的包含的类名(CLSID)
在CLSI这个项目下面就会保存的有这个DLL的文件名和位置,如一个DLL注册的类名为 {00000315-0000-0000-C000-000000000046}
那么在这个注册表分支下面就会有个 InprocServer32 的项 它的值就是 XXXX.DLL,一般可能没有路径,因为系统会自动在系统目录中找这个文件, 如果不是在系统文件夹,它的值可能就会加路径 D:\cxf\afd.dll ;
任何一个DLL都会产生唯一性的CLSID,由CLSID在注册表中找到文件调用,装入内存让DLL工作;

"" 但是我不明白的是MSChart控件在使用中必须与Comcat.dll链接使用这里怎么链接呢?"""

因为你安装了VB,是VB安装时帮你注册了Comcat.dll这个文件,所以没必要自己注册;如果自己手动注册的话,用以下方法:
注册:
在运行输入:
regsvr32 文件名
解除注册
regsvr32 文件名 /u