Vb6 程序执行是否需要.OCA文件?

Vb6 程序执行是否需要.OCA文件?,vb6,activex,ocx,Vb6,Activex,Ocx,在system32目录中,我看到一个.OCX文件和一个相应的.OCA文件 我原以为.OCA文件仅由Visual Basic使用。因此,它们对程序执行是不必要的,并且可以删除吗 如果它们是不必要的,那么为什么在system32文件夹中首先会有一个.OCA?.OCA文件作为其相应.OCX文件的扩展类型库信息的缓存 如果删除VB识别和使用的控件的.OCA文件,则在加载需要该控件的项目时,VB将重新创建.OCA文件。娱乐过程需要一点时间,但在其他方面不会受到惩罚 覆检日期:一九九六年四月四日 物品编号:

system32
目录中,我看到一个
.OCX
文件和一个相应的
.OCA
文件

我原以为
.OCA
文件仅由Visual Basic使用。因此,它们对程序执行是不必要的,并且可以删除吗


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

.OCA
文件作为其相应
.OCX
文件的扩展类型库信息的缓存

如果删除VB识别和使用的控件的
.OCA
文件,则在加载需要该控件的项目时,VB将重新创建
.OCA
文件。娱乐过程需要一点时间,但在其他方面不会受到惩罚

覆检日期:一九九六年四月四日

物品编号:Q149429

Visual Basic使用的每个自定义控件文件(.OCX)的摘要, 附带有一个同名的.OCA文件。例如 GRAPH16.OCX附带了一个名为GRAPH16.OCA的.OCA文件。A.亚奥理事会 file是一个二进制文件,既可以作为扩展类型库,也可以作为扩展类型库 文件和自定义控件文件的缓存

更多信息

类型库是另一个类型库中的文件或组件 文件,其中包含对已公开对象的OLE Automation标准描述 对象、属性和方法。的实际工作类型库 Visual Basic中使用的自定义控件是以下类型的组合 控件本身和提供的附加属性的库 通过包装控件的框架

框架提供了控件的一些属性 还有一些是由控件本身控制的。以编程方式,从 框架和控件都显示为控件的属性

为了显示这些属性,Visual Basic将创建 控件加载到工具箱时的扩展类型库。 因为读取控件的类型库并创建 扩展类型库非常耗时,Visual Basic会缓存 将扩展类型库信息保存到OCA文件中

如果删除Visual Basic识别的控件的OCA文件, 加载项目时,Visual Basic将重新创建.OCA文件 需要控制。这种再创造过程伴随着时间的推移 惩罚

()


因此,在部署应用程序时不要担心包含它们。

不,它们不是执行应用程序所必需的,但它们是程序正常运行所必需的(如果程序首先需要该文件).

它们永远不需要部署完成的程序才能运行。

这可能是一个愚蠢的回答,但您可以简单地重命名文件,然后查看应用程序是否停止工作。如果是这样,这些文件是必要的

DNA科学也差不多:

移除一个基因,看看是什么停止了“工作”。事实上,这个基因与身体的某个部位或其他部位有关。

很抱歉复活了一条僵尸线,但我想总结一下,以确保我理解这一点。 OCA文件仅在程序编译期间需要,如果缺少,VB将创建它所需的文件,以便在编译期间只损失时间。除非您的编程非常草率,而且另一个自制的dll或ocx需要特定的oca。
如果oca随产品一起提供,则应该能够安全地将其删除。

回复:否,它们不是执行oca所必需的,但却是程序正常运行所必需的(如果程序首先需要该文件)

因为execute和run的意思是一样的——您的意思是: 它不需要运行,但需要正常运行?? 或者交替地 它不需要执行,但需要正确执行

我怀疑除了使用VB编译程序外,*.OCA文件不是必需的,如果加载项目时它们不存在,那么VB将自动创建任何缺少的OCA文件,以加快VB中未来的加载或编译操作

我刚刚从我的系统中删除了所有OCA文件(当我使用克隆虚拟机来完成这项工作时,我是一个勇敢的人)。
然后我重新启动并运行了我的软件,在整个系统上没有任何OCA文件的情况下,它运行得很好。现在,下次加载/编译我的程序可能需要更长的时间,因为vb将重新生成OCA文件,但我使用的是带有16Gb RAM和SSD的i7,谁在乎呢

我不确定“草率编程”部分是否准确。听上去,除了VB6 IDE之外,没有任何东西真正需要OCA文件。在用Microsoft KB文本阅读了答案中的文本后,我认为这是不准确的