24

サードパーティ製コンポーネントのインストールは、大きなコンポーネントがある場合は特に時間がかかりますが、複数のコンピューターで環境をセットアップする場合はさらに時間がかかります。

そして、それらをバージョン管理 (Subversion) に追加することを考えているので、必要なすべてのコンポーネントを含むプロジェクトをいつでも簡単にチェックアウトできます。

では、それをどのように管理し、VCS 内で管理するためのベスト プラクティスは何ですか?

また、これらのサードパーティのいくつかは、ソースなしで Delphi ライブラリとして提供されていることも考慮してください。(BPL)。

4

5 に答える 5

13

ソースがある場合は、それをリポジトリの別のフォルダーに含めます。

ソースがない場合は、最新のバイナリ (bpl、dll など) をリポジトリに保持し、セットアップ ドキュメントにインストールと使用方法の説明を含めます。

次のようになります。

\root
    \third_party_stuff
        \vendor1  --we *do* have the source for this
            \src
            \bin
        \vendor2  --we *do* have the source for this
            \src
            \bin
        \vendor3  --we don't have the source for this one
            \bin
    \our_stuff
        \project1
            \src
            \bin
        \project2
            \src
            \bin
于 2009-02-12T15:56:14.233 に答える
11

With Subversion, I use the externals feature. It makes it easy to use the third-party stuff in multiple projects; when you check out a project, you get the external dependencies as well.

If you don't have it already, you should get a copy of Pragmatic Version Control Using Subversion. It's a great book about Subversion functionality and how to do things. While it references SVN from the command-line, the info is also easily translatable to the GUI in TortoiseSVN.

For reinstalling the components into Delphi for older projects, I usually export the registry entries for whatever version of Delphi used into the project's folder and then check that .REG file into Subversion along with the project. You can easily check out the project, export your existing Delphi registry section for the corresponding version of Delphi, import the .REG file from your project source folder, and then start Delphi with all of the components installed.

As far as the "binary BPL" issue, shame on you! If you have projects depending on third-party tools, you should buy the source for them. That way you're protected against that company going out of business, or dropping support for the components, or new releases of Delphi that aren't compatible. I always get source for third-party components; if the source isn't available, I find a different product or write the code myself. It's called self-preservation. :-)

于 2009-02-12T17:13:15.610 に答える
2

まず、プロジェクトで使用しているすべてのコンポーネントのソース コードが必要であるという Ken と Fabricio の両方に同意します。それ以外はただトラブルを求めているだけです。

ソース管理に Subversion を使用していませんが、私たちが行っていることはまだ適用できると思います...

私たちが取り組んでいる各プロジェクトには、そのプロジェクトで使用されているすべてのコンポーネント (ソース) の完全なコピーがあります。リリース時には、コンポーネントとプロジェクト ソースを含むリリース ブランチを作成します。各プロジェクトには、独自の BPL ディレクトリが含まれています。

作業するプロジェクト (またはプロジェクトのブランチ) ごとに Delphi を実行するための個別のショートカットを常に作成し、-R コマンドライン パラメータを使用して、そのプロジェクトの Delphi 設定用の一意のレジストリ キーを設定します。

次に、Delphi 内の Path 環境変数をオーバーライドして、通常の Delphi BPL ディレクトリではなく、プロジェクトの BPL ディレクトリを指すようにします。

すべてのコンポーネントの BPL および DCP 出力ディレクトリをローカル プロジェクトの BPL ディレクトリに設定します。

これにより、Delphi の複数のバージョンを使用でき、さまざまなバージョンのコンポーネントを使用する複数のバージョンのプロジェクトを問題なく使用できます。

于 2009-02-13T06:10:08.847 に答える
1

私はこれについてKenWhiteに同意します:本番コードで使用されるdelphiサードパーティコンポーネント

ソースコードが必要です

限目。コンパイルされたバイナリのみの配布は、評価のみを目的としています。ここでのポリシーです。

質問に関しては:私は実際にそれらをVCSに載せていません。実際、私は自分のプロジェクトがコンパイルして動作する最新バージョンを使用しています。システム、検索、ライブラリなどの混乱...パスは価値がありません。2同じマシン上のJVCLまたは新しいプロジェクトによるcomimg前後のバージョン?ARRRRGH。

古いバージョンをメンテナンスシステムに使用する必要がある場合は、新しいVMを削除して、最新バージョンをインストールします。できます?Ok。いいえ?メイン環境に統合する方法を見つけるまで、VMに残ります。

それぞれのバージョンは1つで十分です。

于 2009-02-12T18:28:54.117 に答える
1

LMDなどの一部の企業は、サポート サブスクリプションを契約している顧客に対して、独自の SVN リポジトリへのリモート アクセスを提供していることに言及する価値があります。重大な問題のバグ修正を迅速に行うには、これが良い方法だと思います。

于 2009-02-12T18:33:49.333 に答える