情報
コンポーネントパッケージを管理し、カスタムプロパティエディタをインストールする方法については、まったく無知なようです。私は先週かそこらで例とチュートリアルを見てきましたが、プロパティエディタがオブジェクトインスペクタに表示されないため、明らかに何か間違ったことをしている必要があります。このフラストレーションを解決するには、段階的な手順が必要です。
コンポーネントパッケージ
現在1つのパッケージがありdesigntime and runtime
、オプションでに設定されています。RegisterComponents
このパッケージに追加されたのは、私のコンポーネント(つまり、MyButton、MyListBoxなど)のユニットです。さらに、プロシージャを含むユニットがあります。これをビルドしてインストールし、コンポーネントを新しいプロジェクトに追加して、問題なく実行できます。
カスタムPropertyEditorの追加
上記のパッケージからコンポーネントにプロパティエディタを導入したいので、トリッキーで混乱します。
たとえば、TMyButtonは、独自のペイントメソッドを使用したカスタムボタンです。ボタンの外観を変更できるようにするプロパティが既に公開されています。さらに、プリセットの外観設定を選択できるようにする公開リストもあります。例:
TMyButtonStyle = (bsStyle1, bsStyle2, bsStyle3)
プリセットスタイルのリストを削除し、代わりに「PresetStyles」というプロパティをオブジェクトインスペクターに追加したいと思います。このプロパティはpaDialogになります。さまざまなボタンのスタイルを視覚的に確認できるフォームを表示したいのですが、単純なリストからプリセットスタイルを選択するよりグラフィカルな方法です。
どのパッケージが必要ですか
私が理解しているなら、あなたはdesigntime
パッケージとruntime
パッケージを分割する必要がありますか?
これは、コンポーネント用とプロパティエディタ用の2つのレジスタユニットが必要であることを意味しますか?
私の現在のパッケージはdesigntime and runtime
であると言ったので、これを管理する方法が完全にはわかりません。どのパッケージタイプに分割すべきかわかりません。プロパティエディタ用に新しいデザインタイムパッケージを作成し、他のパッケージruntime
のみを作成すると、インストールボタンが失われます。今これを書いていても私は混乱しています。
PropertyEditorのインストール
私がフォローしようとした記事の1つは、このページの記事でした:http ://www.delphisources.ru/pages/faq/master-delphi-7/content/LiB0097.html
私が変更したのは、独自のダイアログフォームを追加し、登録コードを次のように変更することだけでした。
RegisterPropertyEditor(TypeInfo(string), TMdSoundButton, 'SoundUp', TSoundProperty);
に
RegisterPropertyEditor(TypeInfo(string), TMyButton, 'PresetStyles', TSoundProperty);
まだTSoundPropertyと表示されていることはわかっていますが、動作するようになるまでそのままにして、クラス名を変更します。
結論
実際のコンポーネントと設計側、つまりPropertyEditorsの間でパッケージを分割/管理する正しい方法は何ですか?
PropertyEditorがオブジェクトインスペクターのTMyButtonに表示されることはなく、パッケージが正しく構成されていないか何かに関係しているに違いないと感じています。
ここで何らかの支援をいただければ幸いです。非常に優れたチュートリアルガイドへのリンクなど、私が行っていることは何も機能していないように見えますが、多くの例を使用しても機能しません。