請熟悉Delphi BPL包的朋友給我一些幫助.目前的情況描述:Project Group內有如下項目.
1. NolascoSYS.exe
2. NisStdInsuD7.bpl
3. NisStdAccD7'.bpl另外有一個uGlobalEx單元, 這個單元內包含一些公用函數, 方便給如上三個項目使用.目前出現的問題如下:
問題一: 假設在NisStdInsuD7或NisStdAccD7'包內的uses 部位 use uGlobalEx.將會出現如下編譯提示.a提示. [Warning] Unit 'uGlobalEx' implicitly imported into package 'NisStdInsuD7'問題二: 假設在NisStdInsuD7和NisStdAccD7'包的Contains中同時加入 uGlobalEx.pas 單元 , 編譯沒有出現warning但是運行時出現如下提示.運行就此中止.
b提示. Project NolascoSYS.exe raised exception class EPackageError with message 'Cannot load package 'NisStdInsuD7.' It contains unit 'uGlobalEx, ' which is also contained in package 'NisStdAccD7'. Process stopped. Use Step or Run to continue.我想要實現的效果:
NolascoSYS.exe , NisStdInsuD7.bpl, NisStdAccD7'.bpl中可以同時使用uGlobalEx.pas 單元,編譯時不要出現 a 的warning,b的報錯.謝謝!
如果認為分數不夠, 請提出.
1. NolascoSYS.exe
2. NisStdInsuD7.bpl
3. NisStdAccD7'.bpl另外有一個uGlobalEx單元, 這個單元內包含一些公用函數, 方便給如上三個項目使用.目前出現的問題如下:
問題一: 假設在NisStdInsuD7或NisStdAccD7'包內的uses 部位 use uGlobalEx.將會出現如下編譯提示.a提示. [Warning] Unit 'uGlobalEx' implicitly imported into package 'NisStdInsuD7'問題二: 假設在NisStdInsuD7和NisStdAccD7'包的Contains中同時加入 uGlobalEx.pas 單元 , 編譯沒有出現warning但是運行時出現如下提示.運行就此中止.
b提示. Project NolascoSYS.exe raised exception class EPackageError with message 'Cannot load package 'NisStdInsuD7.' It contains unit 'uGlobalEx, ' which is also contained in package 'NisStdAccD7'. Process stopped. Use Step or Run to continue.我想要實現的效果:
NolascoSYS.exe , NisStdInsuD7.bpl, NisStdAccD7'.bpl中可以同時使用uGlobalEx.pas 單元,編譯時不要出現 a 的warning,b的報錯.謝謝!
如果認為分數不夠, 請提出.
3qs!!
那里有相關bpl的詳細資料?
http://aiirii.mblogger.cn/posts/2886.aspx
如果两个单元要互相Users,则A模块在Interface部分User B,B在implementation部分User A。
>>>>回复人: force2004(牛牛)
謝謝回復.我的uGlobalEx單元沒有use NisStdInsuD7.
請仔細閱讀我提出的問題, 既然你有這方面的經驗. 那麼我的問題怎麼解決?再次聲明: 如果誰能真正解決這個問題, 另贈送100分.
胡說
把你的uGlobalEx單元的路径填写进去就可以了
謝謝回復!
不過你回答的問題有點离題.>>>>>把你的uGlobalEx單元的路径填写进去就可以了
不用你填,系統幫你填好了.Library path :
Specifies search paths where compiler can find the source files for the package. The compiler can find only those files listed in the library path. If you try to build your package with a file not on the library path, you will receive a compiler error.
既然你認為這是個垃圾問題, 如果你連垃圾問題都不知道, 那麼很簡單的證明你确實比垃圾不如!
1. a 的contains和b 的contains 内必需只有一个能加入 g.pas.
2. 如果a 的contains内已加入g.pas, 并且b现在需要用g.pas, 那幺b 的requies 内必需要加入a包的dcp. 反之亦然.
3. a bpl 和 b bpl 不能同时在contains内加入g.pas