0

私は、現在すべてパッケージなしでビルドされている 100 以上の Delphi (XE2) プロジェクトのスイートを担当しています。いくつかの実行可能ファイルと DLL には、サイズが数メガバイト増加する大規模なサードパーティ コンポーネント セットが含まれています。私たちのインストーラーは 100MB を超え、いくつかの実行可能ファイルは 10MB を超え、いくつかは約 4MB で、多くは 1 ~ 2 MB です。一部のサードパーティ コンポーネントと VCL のパッケージを使用することを検討しています。一般に、ビジュアル コンポーネントは実行可能ファイルからのみ使用され、DLL からは使用されません。一部の DLL は他の言語から呼び出されるため、DLL は DLL のままにする必要があります。

パッケージを使用するように切り替える場合に注意すべき主な考慮事項と危険性は何ですか? 何が壊れる可能性がありますか?デバッグ、テスト、ビルド (FinalBuilder を使用)、またはメンテナンスの利便性に影響はありますか? リンカーが必要とするユニットだけではなく、実行時に BPL 全体をロードすることになるため、実行時のメモリ使用率が容認できないほど増加しますか?

唯一の真の答えは、特定のアプリケーションで試してみることから得られることは承知していますが、この道をたどってきた人、または道を断った人からのアドバイスをいただければ幸いです。

4

1 に答える 1

1

私は疫病のようなランタイム BPL を避けます。理由は次のとおりです。

A. バージョン管理について考える必要があります。誰かが 1 つの BPL または EXE を更新し、他のものを更新しないとどうなりますか。

B. DLL 地獄について考える必要があります。あなたのパスは何ですか?アプリケーションのすべての部分は同じフォルダーにありますか?それともパス上のディレクトリにありますか?

C. 実行時に 1 つまたは複数のファイルが欠落する可能性を考慮する必要がある。これにより、通常、アプリケーションが壊れます。一部の人々は実際にこれを有効に利用しています (機能 X の料金を支払っていない一部の顧客は、その BPL を受け取ることさえありません) が、ほとんどの場合、これは単なる別のトラブルの原因です。

D. 万一、VCL ソースのバグを修正する必要が生じた場合、VCL BPL の再構築を楽しいメンテナンス プログラミング アクティビティのリストに追加しますか?

E. 私が取り組んでいた 1 つの大規模な BPL ベースのアプリケーションで、メインの EXE とそのすべてのプラグイン BPL サブパーツが 1 つのプロジェクト グループで開かれると、Delphi (当時は XE) の安定性が大幅に低下することがわかりました。 ) 同様に大きいが単一の実行可能なプロジェクトをロードしたときよりも。特にプロジェクト グループ内の複数の項目間の依存関係が発生する場合、IDE の問題は前代未聞ではありません。

パッケージを使用するという考えが浮かんだときはいつでも、通常は十分なハード ドリンクと、プログラミングからの 8 時間の休憩で十分であることがわかります。

于 2013-09-30T21:27:51.660 に答える