程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB6中版本兼容工程兼容二進制兼容的區別

VB6中版本兼容工程兼容二進制兼容的區別

編輯:VB綜合教程
 

第一次把部件工程生成可執行文件(.Exe、.dll 或者 .ocx)時,Visual Basic 自動把“版本兼容”選項設為“工程兼容”,並向已生成的可執行文件中插入路徑。這可以保證從一個開發任務轉向另一個時,測試工程和部件仍能保持連接。

如果因為某些原因工程被設置為“不兼容”,可以手工修改它為另兩種“版本兼容”選項中的一種。“二進制兼容”是在開發已有部件的增強版時使用的選項,對於新的開發來說應該使用“工程兼容”。

注意 “工程兼容”選項實際上和“二進制兼容”選項(在“版本兼容性”中描述)無關。“工程兼容”更確切的叫法應該是“工程不兼容性”,因為每次編譯工程時,Visual Basic 都會拋棄除了 GUID 以外的所有有關類型庫的東西。(這句話似乎很難理解,應細細體味)

只要開始在已有部件的新版本上工作,就需要指定一個類型庫,Visual Basic 用它作為兼容性的參考點。多數情況下,這個類型庫就包含在最後發布的部件版本的可執行文件(.Exe、.dll,或 .ocx 文件)中。

對於更新的部件,每次為它建立中間版本時, Visual Basic 將從該 .Exe 文件中提取有關舊接口的信息,並把它和類模塊的新接口相比較。

“為兼容性提供參考點”介紹了建立參考點的過程。

保持引用版本和中間編譯版本保持分離
重點 保持被指定為引用版本的 .Exe 文件備份和新版本的編譯備份之間的獨立。

每次進行中間編譯時,Visual Basic 都會向可執行文件中添加新的接口標識符集,每個類模塊一個標識符。如果把編譯備份指定為參考版本,那麼每次版本兼容的中間編譯所增加的接口標識符都會堆積在一起。(對於版本相同的編譯,接口標識符不會改變。)

除了每個接口標識符要占用十六個字節以外,在有些情況下,在可執行文件中包含無用的接口標識符— 只有測試應用程序曾經使用過的中間版本— 將會減慢進程間對部件的訪問,同時安裝該部件的計算機的 Windows 注冊表也會被無用的接口標識符弄得凌亂不堪。

如果參考版本是上一次發布的可執行文件的備份,那麼所有的中間編譯會有相同的接口版本號,而最終編譯只包含所需的接口標識符:所有參考版本的標識符集(為了提供向後兼容)再加上新版本中所有類的接口標識符集。

注意 開發部件的第一個版本時,使用“工程兼容”而不是“二進制兼容”,情況恰好相反,參考版本會成為中間編譯的版本。這不會使類型庫膨脹,因為“工程兼容”從不保存接口標識符。

就到這裡吧,再細節的部分就看看MSDN吧。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved