![]() |
Bitmap aus einer bestimmten Resource laden
Ich habe gelegentlich das Problem dass ich ein Projekt mehrere .res eingebunden habe, die jeweils Bitmaps enthalten.
Wenn sich die IDs der Bitmaps in den .res Dateien überschneiden, kommt es dann zu unliebsamen Effekten. Beispiel: A.Res enthält 2 Bitmaps ID 1 = Bild eines Hammers ID 2 = Bild einer Sichel B.Res enthält 2 Bitmaps ID 1 = Bild eines Lochers ID 2 = Bild einer Hefters Lade ich dann eine Bitmap mit
Delphi-Quellcode:
dann wird z.B. ein Hammer gezeigt, wenn eigentlich der Locher gezeigt werden soll.
Bmp.LoadFromResourceId(HInstance,1);
Der Ausweg für Helden ist, na klar, die IDs in den .res Dateien zu ändern, aber befriedigend ist das nicht. Frage: Gibt es eine Möglichkeit, eine Bitmap aus einer bestimmten .res zu laden? |
AW: Bitmap aus einer bestimmten Resource laden
Zitat:
|
AW: Bitmap aus einer bestimmten Resource laden
Zitat:
Es ist garnicht möglich dass du sonstwie Beide, mit der selben ID/Name, laden kannst, da garnicht Beide im Compilat enthalten sind. Du musst also die IDs bzw. Namen eindeutig machen. Einziger Ausweg: Für jede RES eine eigene DLL verwenden, da ja pro PE (EXE/DLL/BPL) die Ressourcen eindeutig sind (InstanceHandle + Name/ID). |
AW: Bitmap aus einer bestimmten Resource laden
Zitat:
Dann wird ich mir mal die Zeit nehmen, die .res Dateien, die standardmäßig verwende, umzustellen. |
AW: Bitmap aus einer bestimmten Resource laden
Zitat:
Ich hatte den Hinweis nicht bemerkt, habe es aber getestet und Ja, der Hinweis wird gezeigt, wenn sich die IDs überschneiden. |
AW: Bitmap aus einer bestimmten Resource laden
Ich spiele zwar auch mit selbstgeschriebenen .RC die ich von Delphi (in der DRP/DPK) automatisch zur RES kompilieren lasse.
In PAS eingebunden, muß man selbst mit rc.exe, brc32.exe oder brcc32.exe die RC kompilieren.
Delphi-Quellcode:
, aber dieser zweite Parameter wird eben nur in den Projektdateien (DPR/DPK) ausgewertet und ansonsten ignoriert der Delphi-Compiler den Parameter einfach so, ohne was zu sagen.
{$R xxxx.rc xxxx.res} bzw. {$RESSOURCE xxxx.rc xxxx.res}
Nett ist aber auch der integrierte Ressourcen-Manager im Delphi, womit man Dateien in die Ressource des Projekts (.dres) einfügen und verwalten kann. Teilweise reicht es sogar eine Bitmap in das Projekt zu ziehen -> Projekt-Manager, neben seine Units. |
AW: Bitmap aus einer bestimmten Resource laden
Zitat:
Es gilt dabei aber zu beachten, daß der bei Problemen mit der Projektdatei (dproj) oft gehörte Hinweis, einfach die dproj zu löschen und neu erzeugen zu lassen, mit dem obigen Vorgehen nicht kompatibel ist! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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