Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ Zugriff auf Ressource schlägt fehl (https://www.delphipraxis.net/166483-zugriff-auf-ressource-schlaegt-fehl.html)

messie 15. Feb 2012 09:09

Zugriff auf Ressource schlägt fehl
 
Moin,

wenn ich eine RCDATA-Ressource einbinde, wird sie nicht gefunden:
Code:
Image2->Picture->Bitmap->LoadFromResourceName((int)HInstance,"GifImage_1");
schlägt fehl,
Code:
Image2->Picture->Bitmap->LoadFromResourceName((int)HInstance,"Bitmap_1");
hingegen funktioniert.

Dass ich einen Fehler bei der Übergabe des GIF an das Picture->Bitmap bekomme, ist mir klar. So weit komme ich aber gar nicht. Im Moment weiß ich noch nicht, wie man das RCDATA ins Image bekommt.

Kann man sich gelinkte Ressourcen zur Laufzeit irgendwie anzeigen lassen?

Grüße, Messie

Luckie 15. Feb 2012 09:22

AW: Zugriff auf Ressource schlägt fehl
 
Klar mit einem Ressourcen Editor, wie des ResHacker zum Beispiel.

messie 15. Feb 2012 09:32

AW: Zugriff auf Ressource schlägt fehl
 
Danke,

das habe ich ewig nicht mehr benutzt.
Mein "GifImage_1" ist also da. Vielleicht gibt es bei der Ressurcensuche eine Maske, die RCDATA nicht berücksichtigt.

Wie bekommt man denn ein RCDATA ins TImage?

Grüße, Messie

DeddyH 15. Feb 2012 09:37

AW: Zugriff auf Ressource schlägt fehl
 
RessourcenStream anlegen, GIFImage anlegen, GIFImage aus Stream laden, ggf. nach Bitmap konvertieren, Speicher freigeben (Schnellschuss aus der Hüfte).

messie 15. Feb 2012 11:38

AW: Zugriff auf Ressource schlägt fehl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, dann liegt es nicht an einer Maske.
Code:
TResourceStream *RS = new TResourceStream((int)HInstance,"GifImage_1",PChar("RT_RCDATA"));
sagt auch, dass die Ressource nicht gefunden wird.

Aber im Resourcemanager und in der exe ist das gifimage drin. In dem Constructor findet das Programm aber auch das Bitmap_1 nicht

:gruebel:

DeddyH 15. Feb 2012 12:12

AW: Zugriff auf Ressource schlägt fehl
 
Und mit der Konstanten RT_RCDATA?

messie 15. Feb 2012 12:51

AW: Zugriff auf Ressource schlägt fehl
 
Zitat:

Zitat von DeddyH (Beitrag 1151193)
Und mit der Konstanten RT_RCDATA?

Die Frage habe ich nicht verstanden. Meinst Du, ich übergebe den Typ falsch?

Zitat:

__fastcall TResourceStream(unsigned Instance, const System::UnicodeString ResName, System::WideChar * ResType);
Da steht zwar WideChar aber ich denke, PChar steht seit RAD2009 genau dafür.
Das letzte Mal, dass ich mich damit rumgeärgert habe, war noch in der AnsiString-Zeit :wink:

Grüße, Messie

DeddyH 15. Feb 2012 12:59

AW: Zugriff auf Ressource schlägt fehl
 
Ich weiß nur, dass mir das auch schon passiert ist, dass mit PChar('RT_RCDATA') nichts gefunden wurde, mit einem simplen RT_RCDATA (entspricht IIRC MakeIntResource(10)) aber schon.

messie 15. Feb 2012 13:44

AW: Zugriff auf Ressource schlägt fehl
 
Zitat:

Zitat von DeddyH (Beitrag 1151201)
Ich weiß nur, dass mir das auch schon passiert ist, dass mit PChar('RT_RCDATA') nichts gefunden wurde, mit einem simplen RT_RCDATA (entspricht IIRC MakeIntResource(10)) aber schon.

Ja, die Hochkommas waren zuviel, danke! PChar musste aber weiter angegeben werden.

Jetzt muss das Ding nur noch ins TImage :stupid:

Grüße, Messie


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 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