2017-01-25 5 views
2

私は巨大なプロジェクトを小さな部品に分割し、各パーツごとにパッケージ(dpk)を作成し、「ランタイムパッケージを使用する」ようにアプリを設定しています。他のパッケージを使用しているこれらのパッケージの1つをリンクしているときに問題が発生しています。リンクするには長すぎます。Delphiパッケージをリンクするとどうなりますか?

パッケージ(A)が別のパッケージ(B)を必要とするとき、その依存性は実行時にのみ解決されますが、明らかにそうではないという印象を受けました。 (A)、(A)のセクションは通常の時間でリンクするが、それ以外の場合は30分以上かかる。

私の質問は、Delphiが別のパッケージを必要とするパッケージをリンクしているときにはどういうことでしょうか?

+0

オプションのプラグインモジュールを使用する場合を除き、ランタイムパッケージを使用すると、ほとんどの場合、あなたの人生ははるかに困難になります。 –

+0

Delphiプロジェクトを部品にブレーキングする別の方法があるようです。 –

+0

なぜそれを分解したいのですか?それだけで問題の負荷が発生します。そのメリットは何ですか? –

答えて

3

パッケージをランタイムまたはデザイン時にリンクする場合、リンクされたオブジェクトのすべての依存関係を解決する必要があります。実行時パッケージとの唯一の違いは、が実行時ににロードされているため、共通要素が再利用される実行可能ファイル(または実行可能ファイルスイート)のサイズを最終的に縮小できることです。しかし、リンクの振る舞いは変わりません。そのため、リンクがあなたのビルドのボトルネックである場合、DCUからランタイムパッケージに切り替えると変更されません。

の場合は、アプリケーションのボトルネックがあり、構築を合理化するために活用できるアーキテクチャリファクタリング戦略がいくつかありますが、これはこの回答の範囲を超えた広範なトピックです。

関連する問題