Vcl.ImageCollection.TImageCollection

提供: RAD Studio API Documentation
移動先: 案内検索

Vcl.BaseImageCollection.TCustomImageCollectionSystem.Classes.TComponentSystem.Classes.TPersistentSystem.TObjectTImageCollection

Delphi

TImageCollection = class(TCustomImageCollection)

C++

class PASCALIMPLEMENTATION TImageCollection : public Vcl::Baseimagecollection::TCustomImageCollection

プロパティ

種類 可視性 ソース ユニット
class public
Vcl.ImageCollection.pas
Vcl.ImageCollection.hpp
Vcl.ImageCollection Vcl.ImageCollection


説明

TImageCollection コンポーネントは、イメージを保管、拡大/縮小、描画します。

このコンポーネントにより、TWICImage クラスを使用してネイティブ形式のイメージを使用することができます。

TImageCollectionTVirtualImageList コンポーネントと一緒に、イメージ群のソースとして使用します。これらの 2 つのコンポーネントの使用方法については、「イメージ コレクションおよび仮想イメージリスト コンポーネントを持つ高 DPI イメージのサポート」を参照してください。

TImageCollection は、TCustomImageCollection クラスから継承しており、コレクションの基底メソッドを定義しています。

DLL 内での TImageCollection の利用

TImageCollection は、COM ベースのフレームワークである、WIC(Windows イメージ コンポーネント)を使用します。 COM は、常に VCL アプリケーションによって初期化されます。 しかし、コンポーネントが DLL 内部より使用され、かつその DLL がアプリケーションによって使用される場合、コンポーネントはホスト アプリケーションのスタートアップ コードが実行される前に(つまり、COM が初期化される前に)読み込まれます。 これが、「ランタイム エラー 217」を発生させます。

これを解決するには:

  • DLL を、LoadLibrary および GetProcAddress を使用して明示的に読み込みます。
    • ホスト アプリケーションが VCL アプリケーションでない場合、CoInitialize を、LoadLibrary を呼び出す前に、呼び出します。
  • DLL のエクスポートされた関数を「遅延状態」 として印付けし、それにより、関数が最初に呼び出された際に DLL を読み込みます。それまでには、VCL アプリケーション(および COM)は、すでに初期化されている状態になります。

これは、イメージ コレクション(TDBNavigator など)を使用するその他の組み込みコンポーネントにも影響します。

関連項目