全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1067
推到 Plurk!
推到 Facebook!

关于printer和TPrinter.Create的区别

尚未結案
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-11 10:10:29 IP:218.5.xxx.xxx 未訂閱
有两个问题,虽然并不对我的开发造成大麻烦,但仍想弄个明白: 1:在打印中使用printer和用TPrinter.Create另外创建实例实例变量,在使用中有没有区别. 2.Printers.pas和QPrinters.pas中内容有什么不同,为什么使用TPrinter时如果uses Printers 编译不会出错,但执行时Create不成功.但 uses QPrinters 却可以正常使用.
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-11 11:54:39 IP:202.39.xxx.xxx 未訂閱
在使用 Printer 不需要用 TPrinter.Create 的方式來取得 一個 instance, 它會自動 create 一個在 uses Printers  這個 unit 的時候, 參考: http://www.delphi32.com/info_facts/faq/faq_455.asp    --- 歡迎光臨 KTop 研究院--<-<-<@
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-11 14:11:05 IP:218.5.xxx.xxx 未訂閱
谢谢hagar的解答, 我还想问问:DELPHI提供printer只是为了开发人员方便,还是另有其他区别,例如有人说用TPrinter.Create会占用额外的资料是否如此?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-26 15:31:57 IP:202.39.xxx.xxx 未訂閱
在 Printers 單元中, { Printer function - Replaces the Printer global variable of previous versions, to improve smart linking (reduce exe size by 2.5k in projects that don't use the printer). Code which assigned to the Printer global variable must call SetPrinter instead. SetPrinter returns current printer object and makes the new printer object the current printer. It is the caller's responsibility to free the old printer, if appropriate. (This allows toggling between different printer objects without destroying configuration settings.) }
function Printer: TPrinter;    ...
implementation
...    function Printer: TPrinter;
begin
  if FPrinter = nil then FPrinter := TPrinter.Create;
  Result := FPrinter;
end;
--- 歡迎光臨 KTop 研究院
系統時間:2024-05-16 23:05:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!