2010-10-29 93 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

相關問題