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

DLL問題-為何在dll中使用自訂元件需要inclue該 Pas

尚未結案
firefall
一般會員


發表:22
回覆:36
積分:11
註冊:2002-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-18 11:56:54 IP:61.30.xxx.xxx 未訂閱
請問各位前輩: 小弟的設計的元件己安裝成Bpl,小弟使用一般的Application時用自訂可正常編譯,但小弟設計一個dll時,如果該Dll有使用到自訂元件時,會要求加入該元件的Pas檔,小弟不懂為何會發生這種情形,請有經驗的大大告知小弟,謝謝!
P.D.
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-19 02:35:06 IP:61.66.xxx.xxx 未訂閱
引言: 請問各位前輩: 小弟的設計的元件己安裝成Bpl,小弟使用一般的Application時用自訂可正常編譯,但小弟設計一個dll時,如果該Dll有使用到自訂元件時,會要求加入該元件的Pas檔,小弟不懂為何會發生這種情形,請有經驗的大大告知小弟,謝謝!
應該這樣解釋 如果你是有一個生成的FORM, 然後你的元件有加入component 中的話, 建置到 form中, 應該系統會自動連結, 如果沒有form可以放置元件時(動態建立), 那 你可以在DLL的DPR檔頭部份自己以手動方式加入這組VCL所在的PAS, 試看看 就是在
library Project2;    { Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project's (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }    uses
  SysUtils,
  Classes,
  XXX, -> 加入自己的VCL元件(含相對路徑)    
我測試過, 建立一個dll檔, 然後拉一個form出來, 放了我自己的vcl元件在 form上build成功, 沒有你提到的狀況! 發表人 - P.D. 於 2003/06/19 02:44:57
firefall
一般會員


發表:22
回覆:36
積分:11
註冊:2002-05-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-19 15:33:02 IP:61.30.xxx.xxx 未訂閱
謝謝P.D大大解惑,真高興又多懂一樣,謝謝!!
系統時間:2024-05-20 8:47:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!