Нужны ли файлы .OCA для выполнения программы? - PullRequest
11 голосов
/ 29 октября 2010

В каталоге system32 я увидел файл .OCX с соответствующим файлом .OCA.

Я думал, что .OCA файлы используются только Visual Basic.Поэтому они не нужны для выполнения программы и могут быть удалены?

Если они не нужны, зачем вообще в папке system32 должен быть .OCA?

Ответы [ 6 ]

19 голосов
/ 29 октября 2010
Файлы

.OCA служат кэшем информации расширенной библиотеки типов для соответствующего файла .OCX.

Если вы удалите файл .OCA для элемента управления, который VB распознает и использует, VB будет воссоздан зановофайл .OCA при загрузке проекта, требующего управления.Процесс восстановления занимает немного времени, но без штрафных санкций в противном случае.

Последний отзыв: 4 апреля 1996 г.

Номер статьи: Q149429

РЕЗЮМЕ Для каждого обычаяуправляющий файл (.OCX), который используется Visual Basic, есть сопроводительный файл .OCA с тем же именем файла.Например, GRAPH16.OCX имеет сопровождающий файл .OCA с именем GRAPH16.OCA.Файл .OCA - это двоичный файл, который функционирует как файл библиотеки расширенного типа и как кэш для файла пользовательского элемента управления.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Библиотека типов - это файл или компонент в другом файле, который содержит стандартные описания OLE Automation для открытых объектов, свойств и методов.Фактическая рабочая библиотека типов для настраиваемого элемента управления, используемого в Visual Basic, представляет собой комбинацию библиотеки типов самого элемента управления и дополнительных свойств, предоставляемых платформой, обертывающей элемент управления.

Некоторые свойства элемента управления предоставляются платформой, а некоторые - самим элементом управления.Программно все свойства инфраструктуры и элемента управления отображаются как свойства элемента управления.

Чтобы эти свойства отображались, Visual Basic создает расширенную библиотеку типов при загрузке элемента управления в панель инструментов.Поскольку процесс чтения библиотеки типов элемента управления и создания библиотеки расширенных типов занимает много времени, Visual Basic кэширует информацию библиотеки расширенных типов в файл OCA.

Если вы удалите файл OCA для распознанного элемента управления Visual Basic, Visual Basic будет заново создавать файл .OCA при загрузке проекта, требующего элемента управления.Этот процесс воссоздания идет со штрафом времени.

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

Так что не беспокойтесь о включении их при развертывании приложения.

2 голосов
/ 19 мая 2011

Извините, что воскресил тему зомби, но я хочу подвести итог, чтобы убедиться, что я это понимаю. Файл OCA необходим только во время компиляции программы, и если он отсутствует, VB создаст то, что ему нужно, поэтому все, что теряется, - это время во время компиляции. Если у вас нет очень неряшливого программирования, а другой самодельный dll или ocx нуждается в особом oca. Если oca поставляется с продуктом, его можно безопасно удалить.

1 голос
/ 09 ноября 2010

Это может быть глупая попытка ответить, но вы можете просто переименовать файл и посмотреть, если приложение перестает работать.Если так, то эти файлы необходимы.

Наука о ДНК примерно такая же:
Удалите ген и посмотрите, что перестало "работать".Фактически, этот ген связан с / нуждающимся в этой части тела или чем-то еще.

1 голос
/ 02 ноября 2010

Они никогда не должны быть развернуты с готовой программой для запуска.

1 голос
/ 02 ноября 2010

Нет, они не обязательны для его выполнения, но они необходимы для правильной работы программы (если программе изначально нужен файл).

0 голосов
/ 31 октября 2018

Re: Нет, они не являются необходимыми для его выполнения, но они необходимы для правильной работы программы (если программе требовался файл в первую очередь).

Поскольку выполнение и запуск означают одно и то же, вы говорите, что: это не требуется для его запуска, но это требуется для его правильной работы ?? или поочередно для его выполнения не требуется, но для правильного выполнения требуется ??

Я подозреваю, что файлы * .OCA не требуются, КРОМЕ для компиляции программы с использованием VB, и если они не существуют при загрузке проекта, тогда VB автоматически создаст любые отсутствующие файлы OCA, чтобы ускорить будущую загрузку или скомпилируйте операции в VB.

Я просто удалил КАЖДЫЙ ОСА-файл с моей системы (я смелый человек, когда использую для этого клонированную виртуальную машину). Затем я перезагрузил и запустил свое программное обеспечение, и оно работало без каких-либо ОСА-файлов во всей моей системе. Теперь в следующий раз загрузка / компиляция моих программ может занять немного больше времени, так как vb будет восстанавливать файлы OCA, но я использую i7 с 16 ГБ ОЗУ и твердотельный накопитель, так что кого волнует!

...