請問寫成 Package 的函式可以被外界呼叫嗎? |
缺席
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
因為需共用 DataModule ,選擇使用 RunTime Package 方式而非 DLL,也參考李維老師Html文件順利把一些功能獨立寫成 xx.bpl 給別人呼叫。
但我遇到一個問題,就是該 xx.bpl 所寫的 function or procedure 並無法被外界呼叫使用,反而不若 DLL 有此特性好用。(ps: xx.bpl 不顯示 Form 的,所以有此需求)
我是過 A.exe 利用 PostMessage 方式讓 xx.bpl 順利觸發 function/procedure ,但是 A.exe 不會知道 xx.bpl 該 function 何時結束,而是 PostMessage 後自己直接往下繼續執行,這樣有點像 Thread 表現。雖然可以用另外機制判斷 xx.bpl function 是否執行完畢但我覺得仍不是很好做法。 所以我的問題就是,是否可以直接使用 RunTime Package xxx.bpl 的函式且等到該函式執行完畢後,呼叫者 A.exe 才繼續往下執行呢?? 可以做到嗎??
(ps:1.李維老師教學文件上沒有提到此類做法 2.Mastering Delphi 5.0 DLL 相關章節上說可以做到,但沒有 Sample) 請有經驗的人不吝指教,謝謝! JackTasy
------
JackTasy |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
|
JackTasy
初階會員 發表:22 回覆:97 積分:28 註冊:2002-06-06 發送簡訊給我 |
感謝 william 的指教,把 bpl function 也當成 dll 的匯出,這我倒是沒有想到過,不過可能還需要花時間 try,我會先用我已經找到比較簡單的方法來做,還是謝謝 william 的指點!!
引言: Package is in fact custom made dll. You can export function as in dll (not in the .dpk file) and use GetProcAddress to get the address of your exported function.JackTasy
------
JackTasy |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |