“类”单元实现

时间:2013-04-06 20:40:03

标签: delphi freepascal

也许我是盲人,但我找不到Classes的Free Pascal源文件实现以及像System这样的其他一些单元。大多数情况下,但不仅仅是,我对TObjectTPersistentTControl代码感兴趣。我在SourceForge的Lazarus和FP网站上搜索过。我的问题是文件列表非常大。由于robots.txt,Google拒绝搜索。

有一个lclclasses.pas单位,但它不是我想要的 - 在uses块中它指的是Classes,但是没有文件(我的意思是我不能找到它)像“classes.pas”。

Here我找到了TControl实现,但这在层次结构中太过分了。

this page上有一个信息,TPersistent在“classesh.inc”中定义,我下载了源代码,它确实在rtl \ objpas \ classes \ classesh.inc中,但是,它似乎这个文件只是单位的interface部分。

我也将这个问题标记为“delphi”,因为实际上如果Delphi有一些开源代码,我也可以接受。如果这个基类TObjectTPersistent的实现是某种内置功能(我认为是System单元),我也可以看看C(或任何其他语言)来源。

有人可以帮我找到Classes单元的实现和那里定义的对象吗?

1 个答案:

答案 0 :(得分:2)

因为FPC支持这么多不同的平台,所以RTL代码的结构有点复杂。

但是您感兴趣的RTL代码的平台无关部分可以在source\rtl\objpas目录下找到。

  • Classes的代码位于source\rtl\objpas\classes的包含文件中。相关文件为classesh.incclasses.inc。前者包含接口部分的代码,后者包含实现部分的代码。
  • System单元具有高度平台特定性。在source\rtl下找到您的平台。
  • SysUtils查看source\rtl\objpas\sysutils