相关疑难解决方法(0)

在项目中共享Delphi源文件的最佳方法是什么?

在项目中共享Delphi源文件的最佳方法是什么?

澄清:我们想在多个Delphi项目中使用单个源文件.我们一直在使用我们的SCM工具将相同的文件放入多个文件夹中,但这不是一种超级优雅的体验,我们也在考虑迁移到不支持此功能的工具.

正如我一直在研究这个问题,我考虑过几种不同的方法,但我想知道你在做什么以及如何找到你的方法.

重要场景​​:

  • 码时间
    • 添加新的共享依赖项应该需要显式声明,以便管理共享.
    • 添加新的共享依赖项应该仍然相对简单; 它不应该需要复杂的过程.
      • 列出所有项目的"导入"文件(来自外部)的一个文件会很好.
  • 编译时
    • 所有项目应始终使用一个当前版本构建(当前源同步状态的当前版本加上本地编辑).
      • (在不同位置维护不同的版本应该使用文件分支,这不是主题,在这里.)
    • 每个项目是否应该能够使用不同的编译器设置(包括标志)来影响共享文件的编译是有争议的.
      • 维护(即长期)源代码总是更容易维护.
      • 如果所述变更的范围可以很容易地限制在一个项目中,则可以更容易地进行维护修复(即短期).
  • 调试时间
    • 当进入例程或设置断点时,源的正确版本应自动打开.
    • 编辑显示的源应该会影响下一个构建.
      • 我们不想针对源的临时副本进行调试:我们可能会在混乱中丢失代码.

注意事项:

  • 短期:
    • 最简单的方法是什么?
  • 长期:
    • 什么方法最简单易用?

在此先感谢您的反馈!

马蒂亚斯


---更新---

感谢您的反馈,通过答案,评论和投票!

我已经开始将共享文件放入一个"生产者"项目并将编译文件列表导入每个"消费者"项目.这些项目与MSBuild链接在一起.一旦事情变得更加明确,我将编辑这个问题和"图书馆计划"的答案,分享我所学到的知识.

敬请关注!(但不要屏住呼吸;你会在几分钟内窒息!:P)

delphi msbuild build-process

14
推荐指数
1
解决办法
2296
查看次数

用于开源Delphi软件包的项目选项有哪些?

我写了一些我想在GitHub上分享的Delphi代码.所有代码都包含在运行时和设计时包中.每个项目都有许多"项目选项".(输出目录,搜索路径,编译选项等),我已经成功找到了最适合我的情况下工作良好,但阅读其他Q&由于这里明明有多个一些默认选项方面 工作.

应该使用哪些项目选项来将开源软件包轻松地整合到单个项目中?

德尔福项目选项

我最近开始使用NodeJS.NPM包管理器使得在项目中使用第三方包非常容易.在命令行上使用一个简单命令安装软件包.包将自动安装任何所需的依赖项.

PS:如果您想添加额外的东西,请随意编辑此问题.

delphi open-source project-organization delphi-xe2

8
推荐指数
1
解决办法
627
查看次数

在Delphi中,我应该将共享单元添加到我的项目,共享包中,还是不添加?

这个问题类似于这一个,但不是重复的,因为我询问有关这个问题没有讨论的问题.

我在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文件夹中的那些文件进行更改时重新编译它(这是我应该使用项目组吗?).

delphi project-structure

7
推荐指数
2
解决办法
3086
查看次数