12

Delphi プラグイン フレームワークを設計したいと考えています。3 つのオプションがあります。
1. DLL
2. BPL
3. COM インターフェイス

すべてのオプションにはいくつかの欠点があります。

DLL - MDI アプリケーションの問題、プラグインからのフォームをホスト exe - mdi アプリケーションに埋め込むことができない。
BPL - すべての *.bpl プラグインと *.exe ホスト アプリケーションは、同じバージョンの Delphi でコンパイルする必要があります。
COM - インターフェース {xxx-xx-xxx-xx} はシステムに登録する必要があります (regsvr) したがって、プラグイン フレームワークは移植できません!

私が上に書いたことはすべて真実ですか?そうでない場合は、私を修正してください、または他の可能性はありますか?
ありがとう

4

5 に答える 5

8

はい、あなたの書いたことは正しいです。これらにはすべて長所と短所があります。問題は、あなたにとって何が重要かということです。あなたは何をしたいのか言いませんでした。そのため、その方法を教えることはできません。

一般に、デフォルトで BPL を選択し、Delphi 以外のアプリから使用する必要がある場合は DLL を使用し、本当に必要な場合にのみ COM を選択します。

Delphi プラグイン フレームワークがいくつか利用できるため、別の方法として、独自にビルドしないこともできます。

また、このトピックは以前にここで議論されています。チェックアウトしてください:

于 2010-08-20T08:11:13.650 に答える
1

もう 1 つの可能性は、 PythonPascalscriptなどのスクリプト インターフェイスを使用することです。このアプローチには多くの利点があります。特に、プラグイン ソースが実行可能ファイルでもあるため、デバッグと共有が容易になります。

于 2010-08-20T09:22:07.193 に答える
0

http://www.tmssoftware.com/site/tpf.aspをご覧になりましたか

于 2011-11-05T17:41:35.340 に答える
0

Delphi アプリケーションのみで使用する場合でも、DLL を使用します。DLL フォームはメイン フォームに埋め込まれ、MDI の代わりにタブを使用します。DLL が適切に動作するように、共有メモリ マネージャーも使用し、ランタイム パッケージ (vcl、rtl、および独自のパッケージ) でビルドします。

于 2010-08-20T17:08:06.723 に答える
0

RemobjectsのHydraを見てみます。

もう 1 つの候補は、PaxCompiler (スクリプト) とEControl Form Designer (フォーム デザイナー) の組み合わせです。

于 2010-08-20T10:00:46.243 に答える