Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [BCB] Verwendung von ressourcen (https://www.delphipraxis.net/110894-%5Bbcb%5D-verwendung-von-ressourcen.html)

messie 26. Mär 2008 11:55


[BCB] Verwendung von ressourcen
 
Moin,

ich möchte gerne im BCB6 eine Ressource verwenden:
Code:
RS1 = new TResourceStream((int)HInstance,"LOGO","RT_BITMAP");
Gemeldet bekomme ich
Zitat:

Resource LOGO not found
Die rc-Datei habe ich aus einem Delphi-Projekt kopiert und kompiliert.
Gibt es im BCB noch andere Bedingungen, die beachtet werden müssen?

Grüße, Messie

Muetze1 26. Mär 2008 12:07

Re: [BCB] Verwendung von ressourcen
 
nutze die Konstante und nicht als Identifier...

Code:
RS1 = new TResourceStream((int)HInstance,"LOGO", RT_BITMAP);
/EDIT: Wegen dem LPCSTR müsste es über das Makro ohne Fehlermeldung des Compilers klappen:

Code:
RS1 = new TResourceStream((int)HInstance,"LOGO", MAKEINTRESOURCE(RT_BITMAP));
Aber grundlegend ist das Problem bei Delphi genauso gegeben, wenn du den String angibst anstatt der Konstante...

messie 26. Mär 2008 12:40

Re: [BCB] Verwendung von ressourcen
 
Zitat:

Zitat von Muetze1
Code:
RS1 = new TResourceStream((int)HInstance,"LOGO", MAKEINTRESOURCE(RT_BITMAP));

Mich wundert, dass der Compiler so etwas nicht bemerkt...

Upps, das bringt mich zu einem Problem, das ich bisher ignoriert hatte:
Zitat:

Doppeldeutigkeit zwischen WORD und TntWindows::WORD(unsigned int)
Das kommt mir öfter in die Quere, bisher habe ich es immer umschiffen können. Was passiert da?

Grüße, Messie

Muetze1 26. Mär 2008 12:50

Re: [BCB] Verwendung von ressourcen
 
Zitat:

Zitat von messie
Zitat:

Zitat von Muetze1
Code:
RS1 = new TResourceStream((int)HInstance,"LOGO", MAKEINTRESOURCE(RT_BITMAP));

Mich wundert, dass der Compiler so etwas nicht bemerkt...

Wieso? Eine Zeichenkette ist doch sogar das eigentliche Format was er haben will. Somit sollte er definitiv nicht meckern mit einer Zeichenkette.

Zitat:

Zitat von messie
Upps, das bringt mich zu einem Problem, das ich bisher ignoriert hatte:
Zitat:

Doppeldeutigkeit zwischen WORD und TntWindows::WORD(unsigned int)
Das kommt mir öfter in die Quere, bisher habe ich es immer umschiffen können. Was passiert da?

WORD ist in zwei unterschiedlichen Namespaces definiert. Setze vor deinem WORD einfach mal :: vor - oder du selektierst einen bestimmten Namespace mit "using namespace", was aber den Sinn und die Kapselung der Namespaces widerspricht.

messie 27. Mär 2008 16:43

Re: [BCB] Verwendung von ressourcen
 
Zitat:

Zitat von messie
Die rc-Datei habe ich aus einem Delphi-Projekt kopiert und kompiliert.
Gibt es im BCB noch andere Bedingungen, die beachtet werden müssen?

Ja, dass in der rc-Datei als Ressourcentyp RT_BITMAP statte BMP wie bei Delphi eingetragen sein muss. :oops:

Muetze1 27. Mär 2008 17:06

Re: [BCB] Verwendung von ressourcen
 
Zitat:

Zitat von messie
Ja, dass in der rc-Datei als Ressourcentyp RT_BITMAP statte BMP wie bei Delphi eingetragen sein muss. :oops:

Da die dahinter liegende WinAPI Funktion die gleiche ist und der Resourcencompiler genauso wie der Resourcen Linker, kann diese Aussage nicht stimmen.


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