我通常在编译时不显示编译器进度,但我决定打开它。
我注意到当我的程序编译时,它也在编译它使用的组件。例如它使用 Toolbar2000 (TB2K) 并且在编译器进度窗口中我可以看到它说正在编译 TB2kDock.pas 等。
这是设计使然吗?是否有一个设置我可以告诉它不要每次都编译组件(因为它们没有改变)并且只编译我程序的实际源代码目录中的内容?
我通常在编译时不显示编译器进度,但我决定打开它。
我注意到当我的程序编译时,它也在编译它使用的组件。例如它使用 Toolbar2000 (TB2K) 并且在编译器进度窗口中我可以看到它说正在编译 TB2kDock.pas 等。
这是设计使然吗?是否有一个设置我可以告诉它不要每次都编译组件(因为它们没有改变)并且只编译我程序的实际源代码目录中的内容?
编译应该只是重新编译您更改的单元并创建新的 dcu 文件。链接器总是必须从 dcu 文件重建 Exe。无论您是否修改它们,构建都会为所有 pas 文件重新创建 dcu 文件。
在你研究这个之前,你必须明白编译你的应用程序和构建它是两件不同的事情。据我了解,当您编译应用程序时,Delphi 会修改 exe 并简单地更改您在应用程序代码中所做的更改。当您构建应用程序时,它会替换 exe。
因此,当您构建应用程序时,如果将重新编译您的设置和选项中列出的组件的所有单元,但是当您只编译它时(即使它说它正在编译该单元)它实际上只是在搜索更改的代码片段需要在您的 exe 中修改的单元
我说的当然是在更正中