April 14,2008 11:12

VB引用DLL檔的問題

  前一陣子和朋友一起研究一個硬體設備。那個硬體設備提供了一個DLL檔,只要引用那個DLL檔就可以與硬體設備溝通,進而達成我們的運用需求。

  說也奇怪,我們研究開發的程式,在我的電腦裡執行起來都沒有問題,可是一到朋友的電腦卻都不能執行。最後我決定將程式封裝起來,然後讓朋友安裝到他的電腦裡執行看看,結果依舊不行。

  我和朋友一直研究是否為我和他的電腦環境不同所致,於是把我們倆的環境查了一遍,當然有許多平常使用的軟體不同。首先,我們猜測是我的電腦先安裝VB6.0然後才安裝VB.net2003,不過後來移除了。而朋友的電腦是先安裝VB.net2005,後來因為需要用到VB6.0,才又安裝VB6.0。因為無法證明是否真的是這個原因,只好兵分兩路各自做其他的測試。

  我找了一台只有安裝VB.net2005的電腦,將之前封裝的檔案直接安裝並執行,結果依舊無法執行。朋友找了二位朋友,分別將封裝的檔案給他們安裝,結果一位可以執行,另一位不能執行。這下子頭大了,因為不確定因素太多了,根本就無從查起。

  後來我在某論壇提到這個問題,並將我們的程式提供出來,結果有位網友提到,硬體設備的DLL檔案好像是用Borland C所寫的。

  這時讓我突然想到,我的電腦裡提卻有安裝Borland C++,於是我聯絡了朋友請他確認看看,他那位可以執行程式的朋友電腦裡是否也有安裝Borland C,如果賓果囉!他的電腦裡也有安裝Borland C++。

  到此可以確定硬體廠商提供的DLL檔是用Borland C寫的,而如果DLL檔有引用到Borland C裡的專有資料,那根本就無法在沒有安裝Borland C的電腦裡使用。

  • techcity 發表於樂多回應(0)引用(0)VB程式手札編輯本文
    樂多分類:工作/職場切換閱讀版型 │昨日人次:0 │累計人次:1389
     

    引用URL

    http://cgi.blog.roodo.com/trackback/5858467