線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1970
推到 Plurk!
推到 Facebook!

Delphi 中 Printers.dcu 的 Bug

尚未結案
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-21 10:15:01 IP:203.69.xxx.xxx 未訂閱
這個 bug 蠻久了,只要你的預設印表機是網路印表機 當印表機無法連線的時候,一執行到跟 Printers 有關係的,就會發生問題 從資料上查起來,好像是一有 Delphi 開始就有這個 Bug 了 本來很期待 Delphi 7 update 會解決 雖然對這個千古老 Bug 到這麼新版還要靠 update 來修正 有點不是滋味,不過,能夠解決總是好事一件 但很不幸的,問題依舊在... 說明一下,發生問題的狀況,需符合這二個條件 1. 預設印表機是網路印表機(透過網芳分享的,Printer Server 的沒試過) 2. 區域網路無法連線的時候 如果只是不能印表,也就算了,連扯到印表機的設定都不行 像我用 QuickReport 的 form 也是直接丟個例外出來,Delphi 連開都不能用 執行檔的話,會直接結束....... 我研究了一下 priters.pas 發現問題是出在這個地方 TPrinter.SetPrinter 裡的 DocumentProperties 在剛講的那二種狀況之下 用 DocumentProperties 來取得 Printer Info 的大小時 它會傳回 0.... 正常會傳回 size 或者是 < 0 的 error code 偏偏... 它是傳回三不管的 0..... 而 GlobalAlloc 根據實驗,給它 0 size,它也是照樣傳一個正常的 handle 回來 無怪乎會丟出例外...>"< 我是用了點 dirty 的手法避開這個問題了 雖然,發生問題的情況有點特別,但還是希望 borland 能夠修正一下這個 bug 我沒試過 bcb/delphi 2005 有沒有這問題 不過,它們血源這麼近,又是 windows api 的問題,我想可能也會有相同的 BUG.. 發表人 - wyndog 於 2004/12/21 10:16:34
海星
高階會員


發表:41
回覆:217
積分:106
註冊:2003-01-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-22 19:37:17 IP:59.104.xxx.xxx 未訂閱
還有一個雷同的 bug存在,就是當你的程式預設有Quick Report 存在時, 但你在完全沒有安裝任何的列表機的電腦上時,也會出現錯誤訊息。 跟上面雷同的 bug 是..你有寫一個有關網路的程式,但到了沒有網路卡的 電腦上執行時,也會掛掉。問題你根本就是完全還沒去執行列印動作或者 跟網路連線有關的行為,只是這個程式有包含網路功能的元件在裡面而已, 程式就掛了,希望 2005版的 Delphi/BCB 能修正這些 bug
系統時間:2024-05-03 9:11:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!