![]() |
Resourcen in Komponente...
Ich habe eine Resource in eine Komponente eingebunden, bekomme aber beim erzeugen eines Objektes immer eine Fehlermeldung, dass die bettr. Resource nicht vorhanden sei.
Wo könnte der Fehler sein? Die Resource ist jedenfalls definitiv vorhanen!
Delphi-Quellcode:
Imagelist.rc
unit Fr_LocalMailListView;
interface uses SysUtils, Classes, Controls, ComCtrls, Graphics, Windows, Fr_LocalMail; type TFr_LocalMailListView = class(TListView) private { Private-Deklarationen } ... protected { Protected-Deklarationen } public { Public-Deklarationen } constructor Create(AOwner: TComponent); override; destructor Destroy; override; published { Published-Deklarationen } ... end; procedure Register; implementation {$R res/ImageList.res} procedure Register; begin RegisterComponents('FriFra', [TFr_LocalMailListView]); end; constructor TFr_LocalMailListView.Create(AOwner: TComponent); var RS: TResourceStream; bmp: Graphics.TBitmap; n: integer; begin inherited; RS := nil; LocalMail := TFr_LocalMail.Create(nil); SmallIcons := TImageList.CreateSize(16, 16); LargeIcons := TImageList.CreateSize(32, 32); bmp := Graphics.TBitmap.Create; try for n := 0 to 6 do begin try RS := TResourceStream.Create(0, 'Large' + IntToStr(n), RT_RCDATA); RS.Position := 0; bmp.LoadFromStream(RS); LargeIcons.AddMasked(bmp, clFuchsia); finally RS.Free; end; try RS := TResourceStream.Create(0, 'Small' + IntToStr(n), RT_RCDATA); RS.Position := 0; bmp.LoadFromStream(RS); SmallIcons.AddMasked(bmp, clFuchsia); finally RS.Free; end; end; finally bmp.Free; end; LargeImages:=LargeIcons; SmallImages:=LargeIcons; SetDefaults; end; destructor TFr_LocalMailListView.Destroy; begin LocalMail.Free; SmallIcons.Free; LargeIcons.Free; inherited; end; ... end.
Code:
Large0 RCDATA EU_L.bmp
Large1 RCDATA LN_L.bmp Large2 RCDATA NS_L.bmp Large3 RCDATA OP_L.bmp Large4 RCDATA OL_L.bmp Large5 RCDATA PG_L.bmp Large6 RCDATA TB_L.bmp Small0 RCDATA EU_S.bmp Small1 RCDATA LN_S.bmp Small2 RCDATA NS_S.bmp Small3 RCDATA OP_S.bmp Small4 RCDATA OL_S.bmp Small5 RCDATA PG_S.bmp Small6 RCDATA TB_S.bmp |
Re: Resourcen in Komponente...
Den Fehler find ich nicht, aber warum RCDATA? BITMAP sollte es doch tun.
|
Re: Resourcen in Komponente...
Eventuell mal folgendes probieren:
Delphi-Quellcode:
Ich traue der Angabe von NULL als hModule nicht so ganz.
TResourceStream.Create(HInstance, 'Large' + IntToStr(n), RT_RCDATA);
Statt HInstance kannste auch mal MainInstance probieren. Abhänig davon ob die Komponente in einem Package installiert wurde oder ob die Resource in die EXE eingelinkt wurde, muß man sich für HInstance oder MainInstance entscheiden. Gruß Hagen |
Re: Resourcen in Komponente...
Danke ;)
HInstance hat geholfen :bouncing4: :dancer2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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