Einzelnen Beitrag anzeigen

Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Kann meine Komponente nicht installieren!!

  Alt 31. Okt 2004, 19:25
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:
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;
Dann nur noch Contructor und Destructor hinzufügen, wo FStream erzeugt bzw. zerstört wird.
PS: Das "var" ist bei Parametern, die Objekte sind, zwar nicht nötig, aber es schadet eigentlich auch nicht. (imho)
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat