Fehler beim auslesen von BMP aus Resource-File



  • Hallo erstmal

    Ich hab mit dem Bildeditor vom BCB einfach ein Bild angelegt
    was bei mir IDB_DATABASE_TRUE heißt.

    Hab ein rc und rh Datei angelegt, wie folgt:

    // *.rc
    #include "picture.rh"
    STRINGTABLE
    BEGIN
    	IDB_DATABASE_TRUE	"Status der Datenbank (aktiv)"
    END
    
    // *.rh
    #ifndef PICTURE_RH
    #define PICTURE_RH
    #define IDB_DATABASE_TRUE	100
    #endif
    

    Und dann einfach ne Unit mit nem Button drauf und
    #pragma resource "picture.res" // in *.cpp
    #include <picture.rh> // in *.h eingefügt.

    Dann wollte ich das Bild reinladen

    Graphics::TBitmap *bmp = new Graphics::TBitmap;
    bmp->LoadFromResourceID((int)HInstance,IDB_DATABASE_TRUE); // Bitmap über numerische ID laden
    

    Dafür bekomme ich nun eine Zugriffsverletzung (EAcessViolation) 😕
    Habe keine Ahnung woran das noch liegen kann ???

    Die Unit kennt die *.rh und *.res, also müsste doch alles klar gehen ??
    Den String in der picture.rh kann ich doch auch auslesen.

    Erkennt jemand von euch den Fehler.



  • hm,

    IDB_DATABASE_TRUE ist bei dir aber eine String- Resource. Das passt irgend wie nicht zum Bitmap 😉

    so macht amn das:

    // die DAtei Components.rh
    #ifndef COMPONENTS_RH
    #define COMPONENTS_RH
    
    // StyledButton
    #define ID_STYLEDBUTTON_BLUESTYLE_A   6000
    #define ID_STYLEDBUTTON_ORANGE_A      6029
    
    // die Datei Components.rc
    #include "Components.rh"
    
    // StyledButton
    ID_STYLEDBUTTON_BLUESTYLE_A    BITMAP   "C:\IT_Development\ML Repository\Components\Images\StyledButton_BlueStyle.bmp"
    ID_STYLEDBUTTON_ORANGE_A      BITMAP   "C:\IT_Development\ML Repository\Components\Images\StyledButton_BlueStyle.bmp"
    

Anmelden zum Antworten