Delphi XE2中的命名空间

Delphi XE2中的命名空间,第1张

概述我有两个bpl包:Core和Business,由一个应用程序使用. Core.bpl包含单元User.pas,其中包含TUser类. Core.bpl中的TUser只有两个基本字段:Login和Password. 我想在Business包中使用新字段扩展TUser类:UserName.我想将业务部门命名为基本单位:User.pas. 因此,我在Business.bpl中创建了一个新的User.pa 我有两个bpl包:Core和Business,由一个应用程序使用.
Core.bpl包含单元User.pas,其中包含TUser类. Core.bpl中的TUser只有两个基本字段:Login和Password.
我想在Business包中使用新字段扩展TUser类:Username.我想将业务部门命名为基本单位:User.pas.

因此,我在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 in Extra看起来像

unit User;interfaceuses  Base.User;type  TUser = class(Base.User.TUser)  end;

但是当我想编译它时,我有一个窗口:“删除用户.单位用户在必需的包中找到.”

我有什么办法从Base.User.TUser继承新的TUser,例如它可以在Java中?

附:为了以防万一,我使用Delphi XE2 IDE.

解决方法 默认命名空间似乎是Portal蛋糕 – 这是谎言.您链接到的文档与该程序不匹配.

我制作了这个节目:

MyCompany.Programs.MyProgram.dpr

program MyCompany.Programs.MyProgram;uses  MyUnit in 'MyUnit.pas';beginend.

MyUnit.pas

unit MyUnit;interfaceimplementationend.

生成的.dcu文件名为MyUnit.dcu.根据您链接到它的文档应该命名为MyCompany.Programs.MyUnit.dcu.

我相信您必须在单元名称中明确指定名称空间.

总结

以上是内存溢出为你收集整理的Delphi XE2中的命名空间全部内容,希望文章能够帮你解决Delphi XE2中的命名空间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1263673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存