2010-10-29 83 views
9

system32目录中,我看到一个.OCX文件和相应的.OCA文件。我以为.OCA文件只能用于Visual Basic。因此它们对程序执行是不必要的,可以被删除?程序执行需要.OCA文件吗?

如果它们不是必需的,为什么首先要在system32文件夹中有.OCA

回答

17

.OCA文件充当其对应的.OCX文件的扩展类型库信息的缓存。

如果删除VB识别并使用的控件的.OCA文件,则当您加载需要该控件的项目时,VB将重新创建.OCA文件。娱乐过程需要一点时间,但没有其他处罚。

最新点评:1996年4月4日,

文章编号:Q149429

摘要每个自定义控制文件(.OCX)的Visual Basic应用, 存在的伴随.OCA文件相同的文件名。例如, GRAPH16.OCX有一个名为GRAPH16.OCA的.OCA文件。 .OCA 文件是一个二进制文件,既用作扩展类型库 文件,又用作自定义控制文件的缓存。

更多信息

类型库是内另一个 文件,其中包含OLE自动化暴露 对象,属性和方法的标准描述文件或组件。在Visual Basic中使用的自定义控件 的实际工作类型库是控件本身的 类型库与包装控件的框架提供的附加属性 的组合。

该控件的一些属性由框架 提供,一些由控件本身提供。以编程方式,框架和控件的属性 都显示为控件的属性。

为了使这些属性出现,Visual Basic会在控件加载到工具箱中时创建一个 扩展类型库。 因为读取控件的类型库并创建扩展类型库的过程非常耗时,Visual Basic会将 扩展类型库信息缓存到OCA文件中。

如果您删除识别出的控件Visual Basic的OCA文件,当您加载需要该控件的项目 时,Visual Basic将重新创建.OCA文件。这个重新创建过程有一个时间 罚款。

http://support.microsoft.com/kb/149429

所以,不必担心包括他们当你部署应用程序。

1

不,它们不是必需的,但它们对于程序正常运行(如果程序首先需要该文件)是必需的。

+0

在使用Microsoft知识库文本阅读答案中的文字后,我认为这不是准确的 – DaveInCaz 2018-01-29 20:46:40

1

他们永远不需要部署一个完成的程序来运行。

1

这可能是一个愚蠢的尝试来回答,但你可以简单地重命名文件,看看应用程序是否退出工作。如果是这样,这些文件是必需的。

DNA-科学是大致相同的:
删除一个基因,看看什么停止“工作”。事实上,这个基因与身体部位或其他方面有关/必需。

2

对不起复活僵尸线程,但我想总结一下,以确保我明白这一点。 只有在编译程序时才需要OCA文件,如果缺失,VB将创建它所需的内容,以便在编译期间丢失的是时间。除非你真的马虎编程,另一个自制的dll或ocx需要特定的oca。 如果oca随产品一起发货,则应该能够安全删除。

+0

我不确定“草率编程”部分是否准确。这听起来像是VB6 IDE实际上需要OCA文件。 – DaveInCaz 2018-01-29 20:45:56

相关问题