Delphi 向客户发布部分源代码
我为一家公司写了一个程序。他们想要源代码 该程序使用我为许多客户的几个项目编写的代码 我只想发布这个程序使用的代码。因此,如果一个名为Utils.pas的共享文件包含十个函数,而这个程序只使用其中的两个,那么我想发布一个名为Utils.pas的文件,其中只包含这两个函数 代码是使用Delphi编写的Borland Pascal 有人知道我怎么做吗Delphi 向客户发布部分源代码,delphi,pascal,Delphi,Pascal,我为一家公司写了一个程序。他们想要源代码 该程序使用我为许多客户的几个项目编写的代码 我只想发布这个程序使用的代码。因此,如果一个名为Utils.pas的共享文件包含十个函数,而这个程序只使用其中的两个,那么我想发布一个名为Utils.pas的文件,其中只包含这两个函数 代码是使用Delphi编写的Borland Pascal 有人知道我怎么做吗 澄清:我不是在问许可证问题。我希望客户只拥有其程序使用的源代码,而没有其他内容。将他们的代码从utils.pas中分离出来,放入client_xxxx
澄清:我不是在问许可证问题。我希望客户只拥有其程序使用的源代码,而没有其他内容。将他们的代码从utils.pas中分离出来,放入client_xxxx_utils.pas。向他们收取您通常的费用,用于完成此项工作、重建、烟雾测试等。。问题解决了 好吧,万一弄清楚要修剪什么是件烦人的事。。。 编译程序,并查看utils.pas单元。通常情况下,边距中会有蓝点,表示可以设置断点。“死代码”将不会在空白处有蓝点,因为链接器已经消除了该代码。任何没有蓝点的东西都是他们不需要的 对于更自动化的方法,也许Peganza Pascal Analyzer可以在它的许多报告中识别死代码 这里有一些相关的问题,有着相似的答案(有些是我提出的!)
如果无法使用现有的文件结构,则说明您没有将其分解为足够多的部分。这是捕获所有源文件的一种危险。如果您为他们生成的代码使用了您生成的“公共库”,为什么不简单地为他们的项目提供.pas文件,并为您的“公共库”提供编译的DCU文件?任何特定于所有客户的内容,请将其放入您自己的组件包中,并且只向他们提供无来源的BPL。然后,剩余的来源将是特定于客户的。但是,如果您有特定于一个客户的代码,而您不希望特定的其他客户看到这些代码,那么您还必须为每个客户的代码生成BPL。这仍然是一项艰巨的任务,祝你好运。或者你也可以使用DLL做类似的解决方案。请记住,无论是哪种类型,您都希望为每个库指定一个唯一的名称,这是特定于每个客户的,但不会泄露客户的名称。像客户ID一样使用作为标识符,只有您知道谁的ID。