Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TImageList mit Bild-Resourcen in Package verwenden (https://www.delphipraxis.net/103837-timagelist-mit-bild-resourcen-package-verwenden.html)

Meta777 22. Nov 2007 14:29


TImageList mit Bild-Resourcen in Package verwenden
 
Hallöchen DPler :hi:

Ist es möglich eine TImageList in einem Package zu benutzen? Genauer gesagt möchte ich einer eigenen Komponente die Button Glyphs aus einer TImageList zuweisen.
Wenn ich die Bitmaps aus der Ressource laden will bekomme ich immer "Das Handle ist ungültig"...

versuchen tu ich es so:
Delphi-Quellcode:
ImgList.ResourceLoad(HInstance, rtBitmap, 'GPREV', clFuchsia);
oder so...
ImgList.ResInstLoad(HInstance, rtBitmap, 'GCLIPBRD', clFuchsia);
TIA

Shalom

Apollonius 22. Nov 2007 14:32

Re: TImageList mit Bild-Resourcen in Package verwenden
 
Wenn sich die Resource im Package, welches ja eigentlich nur eine spezielle DLL ist, befindet, musst du als ersten Parameter nicht die HInstance der Exe, sondern das HModule, aus dem die Resource stammt, angeben.

Meta777 30. Nov 2007 13:20

Re: TImageList mit Bild-Resourcen in Package verwenden
 
:hi:

Irgendwie funktioniert das bei mir nicht... An einem HModule komme ich nicht ran!?
Also die Komponente ist in einem Entwurfs- und Laufzeitpackage....
Wenn ich im Constructor die Resource direkt über das Glpyh lade geht es - obwohl die GetNumGlyphs nicht verarbeitet und die ganze Grafik (32x16) auf den Button zeichnet... Aber so er findet die Resource immerhin:
Delphi-Quellcode:
BtnMirror.Glyph.LoadFromResourceName(HInstance, 'GMIRROR');
Kann es sein das es mit TImagelist im Package generell Probleme gibt oder müssen besondere Bedingungen für diese Konstellation erfüllt sein?

Bin für jeden Rat dankbar


Shalom

EDIT1:
Hab jetzt versucht erst eine TBitmap zu erstellen, die Resource in diese zu laden und dann der ImageList zuzuweisen:
Delphi-Quellcode:
LBMP.LoadFromResourceName(HInstance, 'GOPEN');
ImgList.Add(LBMP, nil);
Aber ohne Erfolg: GetLastError ist nach LBMP.LoadFromResourceName() 8 ('Für diesen Befehl ist nicht genügend Speicher verfügbar')


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz