Delphi库的路径

Delphi库的路径,delphi,path,Delphi,Path,你们在哪里存储第三方(和你们自己的)组件 每个Delphi版本有单独的副本吗 多年来,我一直在使用c:\ProgramFiles\borland\delphi7\lib\,甚至在Delphi 2006、2007、2009和2010中,如下所示: c:\program files\borland\delphi7\lib\AggPas\ c:\program files\borland\delphi7\lib\DeHL\ c:\program files\borland\delphi7\lib\De

你们在哪里存储第三方(和你们自己的)组件

每个Delphi版本有单独的副本吗

多年来,我一直在使用
c:\ProgramFiles\borland\delphi7\lib\
,甚至在Delphi 2006、2007、2009和2010中,如下所示:

c:\program files\borland\delphi7\lib\AggPas\
c:\program files\borland\delphi7\lib\DeHL\
c:\program files\borland\delphi7\lib\DevExpress\
c:\program files\borland\delphi7\lib\FastCode\
c:\program files\borland\delphi7\lib\FastMM\
c:\program files\borland\delphi7\lib\Fundamentals\
c:\program files\borland\delphi7\lib\Graphics32\
c:\program files\borland\delphi7\lib\JCL\
c:\program files\borland\delphi7\lib\JVCL\
c:\program files\borland\delphi7\lib\OmniThread\
c:\program files\borland\delphi7\lib\Raize\
c:\program files\borland\delphi7\lib\TeeChartPro\
c:\program files\borland\delphi7\lib\TurboPower\
c:\program files\borland\delphi7\lib\VirtualTreeView\
c:\program files\borland\delphi7\lib\Zeos\
然而,现在我甚至不再使用Delphi7了(它能做什么2010不能做的呢?),所以这条路不再有什么意义了。 我要在我的家用电脑上安装windows7,所以我想这样做:

c:\program files\borland\delphi7\lib\AggPas\
c:\program files\borland\delphi7\lib\DeHL\
c:\program files\borland\delphi7\lib\DevExpress\
c:\program files\borland\delphi7\lib\FastCode\
c:\program files\borland\delphi7\lib\FastMM\
c:\program files\borland\delphi7\lib\Fundamentals\
c:\program files\borland\delphi7\lib\Graphics32\
c:\program files\borland\delphi7\lib\JCL\
c:\program files\borland\delphi7\lib\JVCL\
c:\program files\borland\delphi7\lib\OmniThread\
c:\program files\borland\delphi7\lib\Raize\
c:\program files\borland\delphi7\lib\TeeChartPro\
c:\program files\borland\delphi7\lib\TurboPower\
c:\program files\borland\delphi7\lib\VirtualTreeView\
c:\program files\borland\delphi7\lib\Zeos\
c:\src\DelphiLib\


有更好的主意吗?

我所有的Delphi资料都在C:\Delphi下的子目录中

我总是在根目录下使用一个文件夹,例如d:\DelphiComponents,在每个单独的子文件夹中组织版本控制(如果需要)


例如,d:\DelphiComponents\MMTools有一个Delphi6和一个Delphi7文件夹。因为我在这些文件夹中确实有一些非常旧的库,所以我避免在文件夹名称中使用空格。

我的库是特定于项目的,存储在源的libs下的子目录中:

/src/project1/libs/library1
                   library2
              src/<source files of project1>
/src/project2/libs/library1
                   library2
              src/<source files of project2>
/src/project1/libs/library1
图书馆2
src/
/src/project2/libs/library1
图书馆2
src/
这些库不会添加到Delphi库路径中,而是添加到projecet的搜索路径中,因此我确信我为每个项目使用了正确的库版本。(当然,这仅用于维护项目的旧版本,当前项目将更新为最新的库版本)

这些库存储在subversion中,并作为svn:externals链接到项目


不幸的是,Delphi不支持为每个项目加载包,所以我只能根据需要加载和卸载包,或者——我大部分时间都在做什么——在ide中使用相同的设计时包,并依靠它们在版本之间进行细微的更改,所以只要我在构建时使用正确的源代码,这并不重要该项目。

在使用Vista和更高版本时,将库存储在程序文件中会导致许多问题。对于这些操作系统,最好在包含可执行文件的操作系统之外使用单独的目录。但请将Delphi保留在受保护的路径中,或者在其他地方安装时设置适当的ACL。请记住,Windows不安全,因为大多数用户都这样做。 您还可以将环境变量设置为指向库路径,然后将其与Delphi库路径中的$()语法一起使用。例如,如果使用C:\dev\lib\delphi,则可以设置指向此处的DLIB变量,然后在库路径中使用$(DLIB)\JCL。 这还允许在库之间切换,只需在启动Delphi之前设置所需的环境变量。
如果库包和目录设计正确,就不需要为不同的Delphi版本保留不同的副本,它们将为每个版本创建子文件夹,但许多不是,可能需要单独的副本。

我有一个目录,可以在其中执行所有签出操作。组件(版本化)只是另一个签出(**)

delphi项目都是使用相对路径设置的。组件路径在delphi中的选项->环境下硬编码

mysvndir可以位于不同的驱动器(或目录级别),具体取决于工作站。(最值得注意的是,在我的笔记本电脑上,它位于D:)。编译替代签出的能力(例如,检查旧版本)是保持所有内容相对的另一个强烈动机

这对于普通的Delphi项目来说相当有效(*),但我现在正在考虑对一些项目使用硬编码路径(或替代路径)。主要是因为开始使用ITE

(*)Delphi(所有版本)似乎在打开文件时有时会更改工作目录,这反过来又会弄乱相对路径(它们是相对于工作目录的,而不是.dpr(oj))的)。如果我注意到了这一点,我会在工作目录中打开一个文件(使用file->open),一切都会恢复正常。我还养成了在开始新项目之前先结束项目的习惯


(**)我有一组基本的设计时组件,用于所有应用程序,不使用软件包。我没有特定于应用程序的设计时组件。

如果我安装了即用库,我会将其安装到Program Files(程序文件)下的Delphi文件夹中(确切的文件夹并不重要,它可以是库或源)

这对我有很大的好处(其他人认为这是缺点):在Vista和Win7上,UAC将不允许您处理已安装的库文件,就像它处理Delphi本身一样。您有您的pas文件,您有您的dcu、bpl等文件-很好。就用它们吧。无需重新编译或更改它


然而,如果我安装了我计划更改的库,我会将它安装到我的Documents/RAD Studio文件夹中,这样它就不会受到写保护,我可以处理它。

出于安全原因,我认为在根目录中使用子文件夹(如c:\src或c:\Delphi)不是一个好主意。它看起来像是旧时的一种问候,那时你并没有真正使用安全性或适当的文件夹结构

您想要可写文件夹吗?你有我的文件。甚至还有RAD Studio子文件夹。不喜欢我的医生?你有你的AppData


您想要受保护的文件夹吗?有所有用户或程序文件。

是否编译16位可执行文件?并不是说任何人都需要这样做了,请注意…16位可执行文件的引用在哪里?>>我甚至不再使用Delphi7(它能做什么,2010不能?)回答-远程调试。2年后现在。。。我只想报告一下:我已经选择了'c:\dev\lib',我使用的是完全相同的方案,而且还受到Delphi包处理的影响。虽然我在回答这个问题时试图解释一些原因:实际上,最后我忘记了ITE,使用了dxgettextI,但我希望它们都放在c:\Packages(或其他)的子文件夹中。