在项目中共享Delphi源文件的最佳方法是什么?
澄清:我们想在多个Delphi项目中使用单个源文件.我们一直在使用我们的SCM工具将相同的文件放入多个文件夹中,但这不是一种超级优雅的体验,我们也在考虑迁移到不支持此功能的工具.
正如我一直在研究这个问题,我考虑过几种不同的方法,但我想知道你在做什么以及如何找到你的方法.
重要场景:
注意事项:
在此先感谢您的反馈!
马蒂亚斯
感谢您的反馈,通过答案,评论和投票!
我已经开始将共享文件放入一个"生产者"项目并将编译文件列表导入每个"消费者"项目.这些项目与MSBuild链接在一起.一旦事情变得更加明确,我将编辑这个问题和"图书馆计划"的答案,分享我所学到的知识.
敬请关注!(但不要屏住呼吸;你会在几分钟内窒息!:P)
这个问题类似于这一个,但不是重复的,因为我询问有关这个问题没有讨论的问题.
我在Delphi 7中有一个客户端 - 服务器项目,具有以下目录结构:
\MyApp
\MyClientApp
\MyServerApp
\lib
Run Code Online (Sandbox Code Playgroud)
有两个实际的Delphi项目(.dpr),MyClientApp和MyServerApp文件夹各一个.
lib文件夹具有.pas单元,它们具有客户端和服务器应用程序的公共代码.我想知道的是我是否应该在客户端和服务器项目中包含那些.pas文件?或者我应该在包含这些单位的lib文件夹中创建一个包?或者我应该将.pas文件保留在lib文件夹中,而不是将它们添加到任何应用程序/包中?
每种方法的优缺点是什么?哪种方式"最好"?将lib文件夹中的这些单元包含在多个项目中是否有任何问题?
现在,lib文件夹中的单元不是任何app/package的一部分.这样做的一个缺点是,当我在Delphi中打开我的客户端应用程序时,我想在项目中的所有文件中搜索某些东西,它也不会搜索lib文件夹中的单元.我通过打开这些单元并在所有打开的文件中进行查找,或使用grep搜索(但我更喜欢更好的解决方案)来解决这个问题.
我也非常喜欢一个解决方案,我不必去打开一些单独的包并在我对lib文件夹中的那些文件进行更改时重新编译它(这是我应该使用项目组吗?).