我有兩個bpl軟件包:Core和Business,由一個應用程序使用。 Core.bpl包含帶有TUser類的單元User.pas。 Core.bpl中的TUser只有兩個基本字段:登錄名和密碼。 我想用新字段擴展業務包中的TUser類:用戶名。我想將業務單位命名爲基本單位:User.pas。Delphi XE2的命名空間
因此,我在Business.bpl中創建了一個新的User.pas單元,並放置了從Core.bpl擴展TUser的TUser類。 現在我需要從Business.bpl中分離Core.bpl和TUser的TUser。我需要在這裏使用「命名空間的力量」:)
我讀過Embarcadero doc page。他們說,你可以通過命名來設置包的默認命名空間,例如Base.Core。 我將我的軟件包命名爲Base.Core.bpl和Extra.Business.bpl。編譯後的文件被命名爲。 但是它們中的所有單元仍然按照之前的名稱命名:User.pas - > User.dcu。
現在我已經在模塊User.pas中有兩個類TUser:一個在包Base.Core.bpl中,另一個在包Extra.Business.bpl中。 User.pas在額外的模樣
unit User;
interface
uses
Base.User;
type
TUser = class(Base.User.TUser)
end;
但是,當我想編譯它,我已經有了一個窗口:「刪除用戶單位(一個或多個)用戶被要求在包裝基座中。」
我能做些什麼從Base.User.TUser繼承新的TUser,就像它可以在Java中一樣?
P.S.以防萬一,我使用Delphi XE2 IDE。
如果你想使用這種表示法,你不應該將它們命名爲'Unit Base.User'和'Unit Business.User'嗎? –
核心和商業中有很多單位......並且所有這些都在SVN中:(重命名所有這些都是最後的方式......可能,一個可以更簡單嗎? – omickron
我與你同在。文檔說有一件事,但程序的行爲完全不同 –