Vcl.ImageCollection.TImageCollection
Delphi
TImageCollection = class(TCustomImageCollection)
C++
class PASCALIMPLEMENTATION TImageCollection : public Vcl::Baseimagecollection::TCustomImageCollection
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | Vcl.ImageCollection.pas Vcl.ImageCollection.hpp |
Vcl.ImageCollection | Vcl.ImageCollection |
Beschreibung
Die Komponente TImageCollection speichert, skaliert und zeichnet Bilder.
Mit der Komponente können Sie Bilder in nativen Formaten mit der Klasse TWICImage verwenden.
Verwenden Sie TImageCollection in Kombination mit der Komponente TVirtualImageList als Quelle für Bilder. Unter Unterstützen von High-DPI-Bildern mit den Komponenten TImageCollection und TVirtualImageList finden Sie Anleitungen zum Verwenden dieser beiden Komponenten.
TImageCollection ist von der Klasse TCustomImageCollection abgeleitet, die die Basismethoden für eine Sammlung definiert.
Verwenden von TImageCollection in einer DLL
TImageCollection verwendet WIC (Windows Imaging Component), ein COM-basiertes Framework. COM wird immer von einer VCL-Anwendung initialisiert. Wird die Komponente jedoch aus einer DLL heraus und diese DLL von Ihrer Anwendung verwendet, wird sie geladen, bevor der Startcode der Hostanwendung ausgeführt wird, d. h. bevor COM initialisiert wurde. Dies führt zum "Laufzeitfehler 217".
Gehen Sie folgendermaßen vor, um diesen Fehler zu umgehen:
- Laden Sie die DLL explizit mit LoadLibrary und GetProcAddress.
- Wenn die Hostanwendung keine VCL-Anwendung ist, rufen Sie CoInitialize auf, bevor Sie LoadLibrary aufrufen.
- Kennzeichnen Sie die exportierte Funktion der DLL mit "delayed". Damit wird die DLL beim ersten Aufruf der Funktion geladen und die VCL-Anwendung (und COM) sind zu diesem Zeitpunkt bereits initialisiert.
Dies kann sich auf andere integrierte Komponenten auswirken, die die Bildersammlung verwenden, wie z. B. TDBNavigator.