-1

新しいプロパティ (画像: TImageList) を TMS コントロールの「TAdvSmoothDock」に追加しようとしていますが、オブジェクト インスペクタにプロパティが表示されません。

「公開済み」の下に次のように定義しました。

Published
  property Images: TImageList read GetImages write SetImages;

コンパイルできますが、オブジェクト インスペクタにプロパティが表示されません。コードでコントロールを使用すると、Delphi IDE に表示されます。

お気に入り :

AdvSmoothDock1.Images := ImageList1;

現在、私は Delphi XE2 VCL を使用しています。

よろしく。

4

1 に答える 1

4

ソース コードを変更するだけでなく、コンポーネントを含む TMS パッケージを再構築する必要があります。

オブジェクト インスペクタは、コード ソースを使用して何を表示するかを判断しません。コンポーネントを含むランタイム パッケージ (または、使用可能なランタイム パッケージがない場合はデザインタイム パッケージ) のコンパイル済みバージョンから取得した RTTI (ランタイム型情報) を使用します。

TMS コンポーネントが含まれているパッケージを特定し、そのパッケージのソース (パッケージの .dproj ファイル) を IDE で開き、そのパッケージのビルドを実行します。変更が使用されるように、通常の TMS バージョンではなく、ソースのバージョンが表示されていることを確認してください。

(もちろん、これを行う適切な方法は、TAdvSmoothDock の独自の子孫を作成し、プロパティを追加して、TMS を使用する独自のパッケージに配置し、TMS ソース コードには決して手を加えないことです。)

于 2012-07-12T11:01:28.073 に答える