2010-03-15 49 views
9

Các bạn lưu trữ các thành phần của bên thứ 3 (và của riêng bạn) ở đâu?Đường dẫn cho thư viện Delphi

Bạn có giữ các bản sao riêng biệt cho mỗi phiên bản Delphi không?

Trong nhiều năm tôi đã sử dụng c:\program files\borland\delphi7\lib\, ngay cả đối với Delphi 2006, 2007, 2009 và 2010, như thế này:

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\ 

Tuy nhiên, hiện nay tôi thậm chí không sử dụng Delphi7 nữa (những gì nó có thể làm mà năm 2010 không thể?), do đó, con đường này không có ý nghĩa nhiều nữa. Tôi về để cài đặt windows7 trên máy chủ của tôi, vì vậy tôi nghĩ về một cái gì đó như thế này:

c:\src\DelphiLib\

Bất kỳ ý tưởng tốt hơn?

+0

Biên dịch các tệp thi hành 16 bit? Không phải ai cũng cần phải làm điều đó nữa, hãy nhớ bạn ... –

+3

Trường hợp nào có tham chiếu đến thực thi 16 bit? –

+1

>> Tôi thậm chí không sử dụng Delphi7 nữa (những gì nó có thể làm điều đó năm 2010 có thể không?) Trả lời - Gỡ lỗi từ xa. –

Trả lời

2

Tôi có một thư mục mà tôi thực hiện tất cả các lần thanh toán của mình. Các thành phần (được phiên bản) chỉ là một thanh toán khác (**).

mysvndir\components       (D7 components) 
mysvndir\components2006      (D2006 components) 
mysvndir\components2009      (D2009 components) 
mysvndir\trunk        (trunk of framework) 
mysvndir\flex        (check out of flex project that 
               is in a branch) 

Các dự án delphi đều được thiết lập với đường dẫn tương đối. Các đường dẫn thành phần được hardcoded trong delphi theo tùy chọn-> môi trường.

mysvndir có thể nằm trên các ổ đĩa khác nhau (hoặc cấp thư mục) tùy thuộc vào máy trạm. (đáng chú ý nhất, trên máy tính xách tay của tôi là trên D :). Khả năng biên dịch các lần kiểm tra thay thế (ví dụ: để kiểm tra bản sửa đổi cũ) là một động lực mạnh mẽ khác để giữ mọi thứ liên quan.

Điều này hoạt động khá tốt (*) cho các dự án Delphi bình thường, nhưng hiện tại tôi đang xem xét sử dụng đường dẫn mã cứng (hoặc thay thế) cho một số dự án. Chủ yếu là do bắt đầu sử dụng ITE.

(*) Delphi (tất cả các phiên bản) dường như thay đổi thư mục hoạt động đôi khi mở tệp, do đó làm lộn xộn đường dẫn tương đối (chúng liên quan đến thư mục hoạt động chứ không phải .dpr (oj)). Nếu tôi nhận thấy điều này, tôi mở một tập tin (bằng cách sử dụng tập tin-> Mở) trong thư mục làm việc, và tất cả là tốt một lần nữa. Tôi cũng có thói quen đóng cửa các dự án trước khi mở các dự án mới.

(**) Tôi có một bộ cơ sở các thành phần designtime mà tôi sử dụng cho tất cả các ứng dụng và không sử dụng các gói. Tôi không có các thành phần designtime cụ thể cho các ứng dụng.

+1

Thực ra trong Cuối cùng tôi quên mất ITE và sử dụng dxgettext –

1

Tất cả những thứ Delphi của tôi là trong thư mục con dưới C: \ Delphi

0

Tôi luôn sử dụng một thư mục dưới gốc như d: \ DelphiComponents với phiên bản (nếu cần) tổ chức trong mỗi thư mục phụ riêng biệt.

Ví dụ d: \ DelphiComponents \ MMTools có thư mục Delphi6 và Delphi7. Vì tôi có một số thư viện khá cũ trong các thư mục này, tôi tránh sử dụng dấu cách trong tên thư mục.

1

thư viện của tôi là dự án cụ thể và được lưu trữ trong thư mục con dưới libs trong những nguồn:

/src/project1/libs/library1 
        library2 
       src/<source files of project1> 
/src/project2/libs/library1 
        library2 
       src/<source files of project2> 

Những thư viện không được thêm vào đường dẫn thư viện Delphi nhưng thay vì để con đường tìm kiếm của người projecet, vì vậy tôi chắc chắn tôi đang sử dụng đúng phiên bản thư viện cho từng dự án. (Tất nhiên điều này chỉ để duy trì các phiên bản cũ hơn của một dự án, các dự án hiện tại được cập nhật lên các phiên bản thư viện mới nhất).

Các thư viện được lưu trữ dưới dạng lật đổ và được liên kết với các dự án dưới dạng svn: externals.

Thật không may Delphi không hỗ trợ tải gói cho mỗi dự án vì vậy tôi bị mắc kẹt với các gói tải và dỡ khi cần hoặc - tôi làm hầu hết thời gian - chỉ sử dụng cùng một gói designtime trong ide và dựa vào chúng để thay đổi chỉ nhỉnh hơn giữa các phiên bản vì vậy nó không quan trọng miễn là tôi sử dụng đúng nguồn khi xây dựng dự án.

+0

Tôi sử dụng chính xác cùng một lược đồ và cũng bị xử lý gói của Delphi. Mặc dù tôi đã cố gắng làm sáng tỏ một số lý do trong câu trả lời của tôi cho câu hỏi này: http://stackoverflow.com/questions/2296439/how-to-specify-project-specific-package-settings/2297075#2297075 –

1

Lưu trữ thư viện trong các tệp chương trình sẽ gây ra nhiều sự cố khi sử dụng Vista trở lên. Với những hệ điều hành này tốt hơn nhiều khi sử dụng một thư mục riêng biệt bên ngoài các thư mục chứa các tệp thi hành. Nhưng để lại Delphi trong một đường dẫn được bảo vệ, hoặc thiết lập ACL thích hợp nếu bạn cài đặt nó ở nơi khác. Hãy nhớ rằng Windows không an toàn vì hầu hết người dùng đều làm như vậy. Bạn cũng có thể thiết lập một biến môi trường để trỏ đến đường dẫn thư viện, và sau đó sử dụng nó với cú pháp $() trong đường dẫn thư viện Delphi. Ví dụ, nếu bạn sử dụng C: \ dev \ lib \ delphi, bạn có thể thiết lập một biến DLIB chỉ ở đó, và sau đó sử dụng $ (DLIB) \ JCL trong đường dẫn thư viện. Điều đó cũng cho phép chuyển đổi giữa các thư viện chỉ cần thiết lập biến môi trường cần thiết trước khi khởi chạy Delphi. Nếu các gói thư viện và thư mục được thiết kế đúng cách, không cần phải giữ các bản sao khác nhau cho các phiên bản Delphi khác nhau, chúng sẽ tạo các thư mục con cho mỗi phiên bản, nhưng nhiều không và có thể cần các bản sao riêng biệt.

1

Nếu tôi cài đặt thư viện sẵn sàng sử dụng - tôi cài đặt nó vào thư mục Delphi trong Program Files (thư mục chính xác không quan trọng - nó có thể là lib hoặc source).

Điều này có lợi thế lớn cho tôi (người khác nghĩ về nó như bất lợi): trên Vista và Win7 UAC sẽ không cho phép bạn gây rối với các tệp thư viện được cài đặt, giống như cách thực hiện điều này cho Delphi. Bạn có tập tin pas của bạn, bạn có các tập tin dcu, bpl, vv của bạn - tốt. Chỉ cần sử dụng chúng. Không cần phải biên dịch lại hoặc thay đổi nó.

Nếu, tuy nhiên, tôi cài đặt thư viện, tôi dự định thay đổi - tôi cài đặt thư mục vào thư mục My Documents/RAD Studio, vì vậy nó không được bảo vệ chống ghi và tôi có thể gây rối.

+0

Tôi thích có tất cả chúng trong các thư mục con của c: \ Packages (hoặc hơn). – Ampere

-1

Tôi nghĩ rằng việc sử dụng các thư mục con trong thư mục gốc (như c: \ src hoặc c: \ Delphi) không phải là một ý tưởng tốt vì lý do bảo mật. Nó trông giống như một lời chào từ những ngày cũ, khi bạn không thực sự sử dụng bảo mật hoặc cấu trúc thư mục thích hợp.

Bạn muốn thư mục có thể ghi? Bạn có tài liệu của tôi. Và thậm chí có cả thư mục con RAD Studio. Không thích MyDocs? Bạn có AppData của bạn.

Bạn muốn thư mục được bảo vệ? Có tất cả người dùng hoặc tệp chương trình.

Các vấn đề liên quan