2011-07-22 13 views
4

イベントディスパッチのためのシグナルとスロットのメカニズムの実装はDelphi用に存在しますか?Delphiの信号とスロットの実装?

+0

非マルチキャストイベント処理が組み込まれて動作します。これは、アドオンを必要とするだけのマルチキャスト部分です。 –

+1

https://bitbucket.org/MX4399/multicast-events-using-genericsで提案されたメソッドのミックスアップを追加しました – MX4399

答えて

4

マルチキャストイベントを検索します。そこにはいくつかの実装があります。

それらのいくつかは、ジェネリック医薬品を必要とするので、D> 2009のみです。

+0

TApplicationEventsもeventsinkを使用します。 –

+0

@Downvoter:自分のマルチキャストイベントにTApplicationEventsを一度使用しようとしました。残念ながら、VCLのほとんどのように、ほとんど再利用できないように設計されています。 :+/ –

2

あなた自身でマルチキャストイベントを実装することはできますが、C#やVB.NETとは異なり、直接言語でサポートされているわけではありません。言語サポートの欠如は、マルチキャストイベントをエミュレートしようとする試みを不便にする。

興味深いことに、C++には信号とスロットのサポートが不足しており、QtソリューションにはコンパイルツールチェーンであるMeta Object Compilerの追加プロセスが必要です。

+1

もっと重要なことに、* VCL *と* IDE *はマルチキャストイベントの*あなたの実装がサポートしていないので、使い勝手が悪いです。この言語は、素敵なマルチキャストイベントを実装したり、RTTI属性を使用して完全に登録を必要としない「シグナルとスロット」を実装するためにも使用できます。演算子のオーバーロードを使用すると、ほぼC#の構文が働くことができます。 –

0

私はしばらく前に、Allen Bauerのマルチキャストイベントコードを処理していました。いくつかの制限がありますが、私のコードではうまくいきます。コードhereが表示されます。もちろん

、それだけで、Delphiで> 2009

関連する問題