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

Add與Use的差別?

答題得分者是:P.D.
Edward Chen
一般會員


發表:28
回覆:21
積分:9
註冊:2004-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-08 17:12:06 IP:202.39.xxx.xxx 未訂閱
我的疑問是在Compile時有什麼差別 1.將一個Unit(pas)檔Add到Project中 2.在程式中Use一個Unit而不Add 兩者結果都是可以執行,但是出來的執行檔大小好像有點差距 感謝這個網站
------
Signed by Edward Chen
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-08 23:50:18 IP:61.71.xxx.xxx 未訂閱
引言: 我的疑問是在Compile時有什麼差別 1.將一個Unit(pas)檔Add到Project中 2.在程式中Use一個Unit而不Add 兩者結果都是可以執行,但是出來的執行檔大小好像有點差距 感謝這個網站
Add 是將這個 pas 加入到專案中, 所以使用Add, 一定要有pas程式, 當編譯時系統會利用這個pas產生dcu, 然後一併加入到exe內 uses 只是使用一個已經產生好的dcu, 編譯時系統是把這個dcu加入到exe內, 也就是說, 要使用這個unit的程式不一定要有pas, 諸如外面好多3'rd party軟體, 很多只提供dcu 但這兩者最大的差別就是, 如果你只有dcu的話, 就會有版本的差異, 就是說萬一你拿到的dcu是dephi7編譯出來的, 你就無法使用在delphi5的版本, 但如果你有pas, 就可以讓系統重新編譯成你的系統版本 大概就是這樣的意思啦!
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-09 16:41:56 IP:210.201.xxx.xxx 未訂閱
Edward 大大, 如果你的專案中有 UnitB,且 UnitB 會用到 UnitA 的內容,但 UnitA 並未加入到專案,根據您所說 "兩者結果都是可以執行,但是出來的執行檔大小好像有點差距" ,那麼就表示你分別試用過以下兩種方法: 1.只把 UnitA 用 Add 加進來。 2.只在 UnitB 中 uses UnitA。 照您所說,兩個方法都可以執行,沒有問題。但我卻有疑問: 針對2 <--- 如果 UnitB 不 uses UnitA ,UnitB 怎麼能用? 針對1 <--- 如果 UnitA 不在專案中,UnitB 怎麼能 uses UnitA ? 我想你的 UnitA 跟 UnitB 根本就沒有相依關係,甚至整個 UnitA 的內容都不會被專案中其他單元使用到,因此,無論你有沒有把 UnitA 加入專案,無論你有沒有在 UnitB 中 uses UnitA ,或者不 add 也不 uses,甚至又 add 又 uses,最終執行結果當然會一樣,因為 UnitA 本來就跟此專案毫無關連! 另外請問其他大大,是不是至起碼也要把單元檔加入專案後,才能進一步在其他單元檔中 uses 那個單元檔? 謝謝
Edward Chen
一般會員


發表:28
回覆:21
積分:9
註冊:2004-07-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-09 16:53:41 IP:61.30.xxx.xxx 未訂閱
cancer所言甚是。其實這個題目提的不是很好。 小弟學Delphi不久,雖然加入開發的行列,但是有些下盤功夫不穩,此次所提的問題P.D.恰好就是我需要的答案。其實小弟對於dcu的瞭解實在是有限的,諸如: 1.pas怎麼不直接Compile成執行檔,而要多一層dcu? 2.不同版本的delphi產生的dcu不能互通豈不綁住發展工具? 3.是否有其他的工具可以產生dcu檔給Delphi來use? 等等…問題 感謝這個網站
------
Signed by Edward Chen
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-09 21:39:30 IP:61.71.xxx.xxx 未訂閱
引言: cancer所言甚是。其實這個題目提的不是很好。 小弟學Delphi不久,雖然加入開發的行列,但是有些下盤功夫不穩,此次所提的問題P.D.恰好就是我需要的答案。其實小弟對於dcu的瞭解實在是有限的,諸如: 1.pas怎麼不直接Compile成執行檔,而要多一層dcu? 2.不同版本的delphi產生的dcu不能互通豈不綁住發展工具? 3.是否有其他的工具可以產生dcu檔給Delphi來use? 等等…問題 感謝這個網站
這就是Delphi提供Package及bpl的最大功臣, 假想 你幫客戶開發一套程式, 而客戶要求要有source code, 如果整套程式當中有包含你自己的工具程式在內, 按你的想法, 你得把你自己的工具源碼也提供給客戶對方才能編譯程式, 如果今天有一個dcu做中介, 我可以把屬於客戶段開發的源碼給他們, 同時把程式需要用到但是屬於我自己的源碼以dcu方式包給客戶, 一來客戶可以完成自己的編譯, 一方面你也不用擔心自己的源碼會被人抄用, 諸如此類, 外面很多工具軟體都有提供試用版都是如此做, 對設計者而言可能是有些受限制, 但對開發者來說這可是一個永續的經營, 以後你也會成為開發者, 相信你會明白這點的!
系統時間:2024-05-02 19:57:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!