国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

VisualBasicCOM基礎(chǔ)講座之兼容性

2019-11-18 17:54:40
字體:
供稿:網(wǎng)友
在本教程第二部分的最后,我們遇到一個(gè)小問題,但確切地說,那實(shí)際上是一個(gè)大問題。如果有時(shí)間的話,這個(gè)問題應(yīng)該值得我們花大精力去研究。

  還記得我們是怎樣遇到那個(gè)問題嗎?當(dāng)時(shí),我們先編譯ActiveXDLL,然后編譯使用該DLL的測試程序。接著,我們重新編譯DLL,那是因?yàn)榧僭O(shè)DLL中的內(nèi)容需要修改。然而,再運(yùn)行測試程序時(shí),卻出現(xiàn)錯(cuò)誤!

-align="right">->->->  雖然,我們可以重新編譯測試程序,以便該程序能正確運(yùn)行。但是,如果這里不是VB程序,而是Excel數(shù)據(jù)表或是C 統(tǒng)計(jì)程序在使用該DLL,那么是不是每次對ActiveXDLL進(jìn)行小小的修改后都要重新編譯這些程序呢?

  是的,肯定不能這樣。

  因?yàn)榻?jīng)驗(yàn)告訴我們,這是一個(gè)兼容性問題。所以,可以這樣處理:

  啟動(dòng)VisualBasic,打開Northwind工程;

  選擇"
  NoCompatibility——每次編譯時(shí),用戶COM
組件都被標(biāo)有一個(gè)新的標(biāo)記,這就意味著程序只能使用舊標(biāo)記(以前版本)的DLL。

  ProjectCompatibility——每次編譯時(shí),用戶COM組件不是總會(huì)被標(biāo)有一個(gè)新的標(biāo)記。如果是的話,任何當(dāng)前使用的應(yīng)用程序都會(huì)失敗。事實(shí)上,只有當(dāng)當(dāng)前工程和已經(jīng)編譯過的DLL工程有較大不同時(shí)才會(huì)這樣。

  BinaryCompatibility——每次編譯時(shí),應(yīng)用程序總試圖保存前一個(gè)編譯過的DLL標(biāo)記,這樣就確保了使用的應(yīng)用程序不會(huì)出現(xiàn)藍(lán)屏的死機(jī)現(xiàn)象。但是,若當(dāng)前將要編譯的DLL和以前編譯過的DLL區(qū)別太大,則新的標(biāo)記就會(huì)被標(biāo)上。

  讓我們測試一下上述論點(diǎn):

  打開本教程上一部分的測試程序;

  重新編譯一下;

  試運(yùn)行一下,應(yīng)該能正常工作;

  打開ActiveXDLL工程;

  將其屬性設(shè)置為BinaryCompatibility;

  重新編譯一下該DLL;

  試運(yùn)行一下測試程序,應(yīng)該能正常工作。

  好了,看起來似乎解決了問題。但當(dāng)重新編譯DLL后,大多數(shù)開發(fā)人員將會(huì)陷入另一種不兼容的境地。

  難道就沒有更好的解決辦法嗎?我們暫時(shí)將這個(gè)問題放到一邊!

  您可訪問下列站點(diǎn)以獲得更多的內(nèi)容:

  www.PylonOfTheMonth.co.uk.->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 梁河县| 龙陵县| 冀州市| 柞水县| 长葛市| 临颍县| 雷波县| 新化县| 济南市| 大安市| 卓尼县| 阳东县| 榆树市| 阳江市| 博湖县| 嵊泗县| 文昌市| 琼结县| 墨江| 阳原县| 阜宁县| 石屏县| 和政县| 通山县| 格尔木市| 叶城县| 昌邑市| 克拉玛依市| 晋州市| 卢龙县| 栾城县| 玉树县| 乾安县| 巴林右旗| 西华县| 成都市| 日照市| 德州市| 化德县| 二连浩特市| 溧阳市|