如何分析一个已有的Delphi项目源代码?

分析一个已有的Delphi项目,应该从以下入手(按先后顺序):

1. 编译条件,包括自定义的Condition以及inc文件里的标识

2. 主项目文件dpr,因为窗体的windows消息循环只是程序的一部分,可稍后启动。

3. 各个单元的initialization

4. 主窗体的Create,Show,Init,Close,Active

5. 主窗体的可视控件的事件

6. 根据软件的不同配置,尝试不同的运行,帮助理解软件业务的运行。

以上都是Delphi的固定模式,但有时候在项目里会调用一个额外的其它文件的StartXXX, InitXXX,要注意。

然后尝试精简项目,留下最精华的部分。搞懂这部分就算懂了。

如果某个类函数过多且复杂,那么看它的数据,就能猜到其核心功能。因为一个软件,如果不是系统软件,是要深刻反映外部业务的,必须需要数据。如果是系统软件,只要与系统API打交道,可以不需要数据,一个函数也可以包含许多内容。