为什么要注册ocx

guxiaoshi 2009-10-26 09:32:55
今天用VB.NET开发程序,昨天刚运行成功的程序,今天就不行了。检查了一下程序,发现是使用了第3方控件的模块老是不通过,后来同事给了个ocx文件,注册了一下,程序通了。
小弟想知道为什么注册了一下,第3方控件就能用了?
为什么要注册?这是我最想了解的事情?
为什么注册后,把ocx文件删了,程序右不行了呢?
请高手帮忙解决。
...全文
426 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzy8788 2009-10-26
  • 打赏
  • 举报
回复
regsvr32 文件路径 —— 注册组件
regsvr32 /u 文件路径 —— 反注册组件(即卸载组件)
trentliu 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 guxiaoshi 的回复:]
就是说注册的ocx文件不能变换路径,也不能删除。路径变换后要重新注册吗?
[/Quote]

不建议变换路径,如需要,先卸载组件,变换路径后重新注册
参考regsvr32 用法
guxiaoshi 2009-10-26
  • 打赏
  • 举报
回复
就是说注册的ocx文件不能变换路径,也不能删除。路径变换后要重新注册吗?
trentliu 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gxingmin 的回复:]
你引用的第三方控件ocx是com组件型的,所以需要注册,注册后在注册表里生成该组件的唯一guid号码,程序引用的这个组件才能找到ocx文件所在,才能使用该组件的功能
[/Quote]

同意1楼见解。虽然现在都是开发.net了,但是楼主也需要学习一下上一代经典的com/activex 组件。不然不能称为一个称职的程序员
qqzeng-ip 2009-10-26
  • 打赏
  • 举报
回复
正如 一楼所说
Dobzhansky 2009-10-26
  • 打赏
  • 举报
回复
ocx 是组件(类型库, 接口)的容器,

使用组件的程序是通过组件(接口) guid 来使用组件的(包括创建, 使用),

当创建一个组件对象实例时, com(activex) 架构体系, 首先从注册表中根据要创建组件的 guid, 找到 dll(ocx) 文件路径, 加载 dll(ocx), 调用几个约定的函数来创建组件.

所以, 一个 com(ocx) 组件要想使用,
必须注册到注册表, 还要有对应的文件, 以及运行时用到的其他支持文件.
gxingmin 2009-10-26
  • 打赏
  • 举报
回复
你引用的第三方控件ocx是com组件型的,所以需要注册,注册后在注册表里生成该组件的唯一guid号码,程序引用的这个组件才能找到ocx文件所在,才能使用该组件的功能

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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