首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在“使用”子句中创建子库?

如何在“使用”子句中创建子库?
EN

Stack Overflow用户
提问于 2013-04-04 11:34:55
回答 3查看 448关注 0票数 4

当我使用Delphi 2006的时候,它是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 uses System, SysUtils, StrUtils, Windows, Dialogs, WinApi;

但最近我们可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics;

这个更改是如何工作的?是将System.pas分隔成System.*.pas,还是创建了一个新的子句来根据单个库中的类型分隔函数?

,我如何修改我的旧库,使其像这样工作呢?,我想做一些事情,比如: MyLib.Logic,MyLib.Arrays,MyLib.NetWork等等。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-04 12:59:15

您所遇到的就是所谓的单元作用域名称。对不同的RTL和VCL单元名称进行了更改,以更好地区分哪些单元是特定于平台的,哪些是跨平台的。不仅仅是使用名称空间的单元名称(自从Delphi.NET引入以来就已经存在了),而且现在甚至连单元文件名本身现在也是名称空间,这是新的。

如果您不编写跨平台代码,则鼓励您使用新语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics

但是,如果您想编写跨平台代码,或者只需要维护遗留代码,那么继续使用原始语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uses
  System, SysUtils, StrUtils, ...;

然后确保"Winapi“、"System”、"Vcl“、"Fmx”等前缀包含在Project的"Unit作用域名称“字段中。

票数 3
EN

Stack Overflow用户

发布于 2013-04-04 12:20:43

只需在ide中打开旧文件,并在项目经理重命名该单元。它将自动更改文件中的单元名称。

之后,打开并重新编译旧项目,以确保引用正确的单元名称。

这些点相对于下划线的唯一优点似乎是,您可以在代码完成过程中获得匹配的“子库”列表。

任何点之前的部分不应该被称为“名称空间”,因为它的工作方式与名称空间不同。

票数 4
EN

Stack Overflow用户

发布于 2013-04-04 11:40:42

他们被称为namespaces,从Delphi7前后就一直存在,那时他们正准备发布Delphi8(Delphifor.NET)。它们被添加到支持事物的.NET方面。他们被记录在在Delphi中使用命名空间中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15820144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文