![]() |
Kann meine Komponente nicht installieren!!
Ich versuche meine Komponente (TBitmapStream) zu installieren, aber er meckert immer:
"[Fehler] ImageStream.pas(36): Inkompatible Typen: 'TComponentClass' und 'Class reference'"
Delphi-Quellcode:
Was kann ich machen?
type
TBitmapStream = class(TMemoryStream) private { Private-Deklarationen } protected { Protected-Deklarationen } public function Count: Integer; function AddBMP(BMP: TBitmap): Integer; procedure LoadFromImageList(const IL: TImageList); procedure SaveToImageList(var IL: TImageList); procedure GetBMP(const Index: integer; var BMP: TBitmap); procedure Delete(const Index: Integer); procedure InsertBMP(BMP: TBitmap; const Index: Integer); procedure SaveToFile(const AFileName: TFileName); procedure LoadFromFile(const AFileName: TFileName); procedure Clear; { Public-Deklarationen } published { Published-Deklarationen } end; procedure Register; implementation procedure Register; begin RegisterComponents('Beispiele', [TBitmapStream]); end; |
Re: Kann meine Komponente nicht installieren!!
Hi, TMemoryStream ist kein Nachfahre von TComponent, deshalb klappt die Registrierung nicht.
Lösung: TBitmapStream von TComponent ableiten und ein Feld vom Typ TMemoryStream hinzufügen.
Delphi-Quellcode:
Dann nur noch Contructor und Destructor hinzufügen, wo FStream erzeugt bzw. zerstört wird.
type
TBitmapStream = class(TComponent) private FStream: TMemoryStream; protected { Protected-Deklarationen } public function Count: Integer; function AddBMP(BMP: TBitmap): Integer; procedure LoadFromImageList(const IL: TImageList); procedure SaveToImageList(var IL: TImageList); procedure GetBMP(const Index: integer; var BMP: TBitmap); procedure Delete(const Index: Integer); procedure InsertBMP(BMP: TBitmap; const Index: Integer); procedure SaveToFile(const AFileName: TFileName); procedure LoadFromFile(const AFileName: TFileName); procedure Clear; { Public-Deklarationen } published end; PS: Das "var" ist bei Parametern, die Objekte sind, zwar nicht nötig, aber es schadet eigentlich auch nicht. (imho) |
Re: Kann meine Komponente nicht installieren!!
Dass du den Fehler nicht siehst.. :roll:
![]() ![]() |
Re: Kann meine Komponente nicht installieren!!
Hmmm, stimmt!
Zitat:
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz