PDA

Visualizza la versione completa : [C++] Win32: problema con risorse


ardito86
06-03-2012, 10:38
Allora, seguendo anche i vostri consigli che avevate dato a un utente che aveva un simile problema (quello era alle prese coi file WAVE), non sono riuscito ancora a includere un file BITMAP nell'eseguibile exe, o perlomeno non sono riuscito a farlo funzionare.

Ero prima con dev c++, adesso sono con code::blocks, ma il problema sempre lo stesso: errore di segmentazione.

Allora, creo un file di risorse .rc e lo aggiungo al mio progetto.
Ci scrivo su:


10 BITMAP "carte\\b.bmp"


e con questa istruzione:


carta =(HBITMAP) LoadImage(hInstance, MAKEINTRESOURCE(10) ,IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE );


o questa:


carta =(HBITMAP) LoadImage(NULL, MAKEINTRESOURCE(10) ,IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE );


l'errore sempre lo stesso: errore di segmentazione.

Notaare che:

1) se nel file .rc modifico la path del file, mettendone una che non esiste, il compilatore mi avverte che non esiste. Quindi se, mettendo quella giusta compila, vuol dire che la path giusta.

2)Non ci sono altri problemi, l'errore sta proprio nella macro MAKEINTRESOURCE. Se modifico cos il codice:


carta =(HBITMAP) LoadImage(NULL, "carte\\b.bmp",IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE );

funziona perfettamente.

Ho girato a lungo e in largo, ma non ho trovato soluzione :bh:

ardito86
06-03-2012, 10:46
Incredibile...solo ora (dopo che ho postato il codice) mi sono accorto del valore dell'ultimo parametro della fuznione LoadImage...ovvero LR_LOADFROMFILE.

Adesso ho messo NULL, e funziona. Perdonatemi...era quasi un mese che ci stavo dietro e adessoc he ho apertto il topic me ne sono accorto da solo...se solo si potesse cancellare questo topic

Loading