Dll中有Form使用到TImage,但是呼叫Dll時卻無法正確載入圖片jpg。 |
|
nady
一般會員 發表:8 回覆:6 積分:2 註冊:2002-11-12 發送簡訊給我 |
前輩們
小弟在寫一個程式(A),會用到我自己寫的Dll(B)。
但是這個Dll會顯示一個Form裡頭有兩張圖,一張是bmp另一張是jpg,分別用TImage載入。 程式(A)本身也有兩張圖,一張是bmp另一張也是jpg,同樣也是用TImage載入。再去呼叫Dll(B)顯示Form和圖片,結果發現程式(A)的兩張圖,會少了一張jpg的。
錯誤是"Unknown picture file extension (.jpg)."
但是Dll(B)的兩張圖都會正確顯示,且程式(A)的bmp也可以正確顯示。那為什麼唯獨程式(A)的jpg不能載入呢?? 我自己有做一些測試
1.如果程式(A)單獨運行(拿掉Dll(B)的Lib和Dll(B)的函式,就是跟Dll(B)完全無關)
結果:程式(A)的兩張圖都很正常的顯示。
2.如果程式(A)和Dll(B)的Lib一起link,但是不呼叫Dll(B)的函式)
結果:程式(A)的jpg那張圖就會無法顯示。
3.如果程式(A)和Dll(B)的Lib一起link,而且也呼叫Dll(B)的函式)
結果:程式(A)的jpg那張圖就會無法顯示。 所以只要程式(A)將Dll(B)的Lib加進專案,TImage 就會無法顯示jpg,但是可以顯示bmp。 BCB5.0和6.0都會有這個問題。 請前輩們幫我測試看看吧...
因為我不知道怎麼上傳程式,而且像我這樣的程式碼很短,所以我就沒有上傳程式碼了。還請前輩幫忙。 最後我有試出來可以用的方法,但是很不可思議,而且我也不懂,所以不足採信。
結果:只有將程式(A)和Dll(B)在編譯的時候,都要將"Build with Runtime Package"打勾,才可以讓程式(A)和Dll(B)的4張圖片正常顯示。 可是據我所知的"Build with Runtime Package"並無法解釋這個問題,而且這樣對我的程式以後要散佈到別的電腦還是相當不方便。
還請前輩們指導。 之前在別的板上發問過,不過因為沒有附上程式碼,所以可能高手不方便幫我找出問題,在此附上程式,還望各位高手幫助。 謝謝 sincerely
Nady
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
nady
一般會員 發表:8 回覆:6 積分:2 註冊:2002-11-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |