Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Allegro GUI!

Ostatnio zmodyfikowano 2009-11-19 22:21
Autor Wiadomość
DDD
Temat założony przez niniejszego użytkownika
Allegro GUI!
» 2009-11-19 16:50:26
Witam!

Mam problem odnośnie GUI w allegro! Uczyłem się tego kursu z oto tej strony:
http://allegrogui.cba.pl/index.php?body=dialogi
i dosyc wszystko rozumiem tylko jak z kopiuje kod do dev'a i dam kompliuj to sie juz nieskompiluje!;[ Nie wiem jak temu zaradzić:(
Oto błędy które mi wyskakują:
- invalid conversion from `int (*)(void*, int)' to `void*' 
- invalid conversion from `int (*)(void*, int)' to `void*'
- invalid conversion from `int (*)(void*, int)' to `void*'  

Proszę o pomoc! Z góry dzięki:D!
Pozdrawiam!

a i kod przykladowy jest na samym dole strony:]
P-11676
DejaVu
» 2009-11-19 17:23:41
P-11678
DDD
Temat założony przez niniejszego użytkownika
» 2009-11-19 20:00:18
Ale u mnie jakoś to nie chodzi! wywala mi jeszcze więcej błędów !
Tak napisalem kod! Może coś pomyliłem;]
C/C++
#include <allegro.h>

( void * ) update_color( void * dp3, int d2 );

DIALOG color_builder[] =
{
    /* (dialog proc)     (x)   (y)   (w)   (h)   (fg)  (bg)  (key) (flags)  (d1)  (d2)  (dp)  (dp2)         (dp3) */
    { d_clear_proc, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, NULL },
    { d_box_proc, 0, 0, 100, 100, 0, 254, 0, 0, 0, 0, NULL },
    { d_slider_proc, 10, 110, 16, 64, 1, 0, 0, 0, 63, 0, NULL, update_color, NULL },
    { d_slider_proc, 42, 110, 16, 64, 2, 0, 0, 0, 63, 0, NULL, update_color, NULL },
    { d_slider_proc, 74, 110, 16, 64, 4, 0, 0, 0, 63, 0, NULL, update_color, NULL },
    { NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
};


/* ID suwaka w dialogu (liczymy od 0) */
#define S_RED    2
#define S_GREEN  3
#define S_BLUE   4


/* wywołania suwaków (parametry są
* zignorowane, ponieważ już wiadomo jakie dane
* przekazują kontrolki)
*/
( void * ) update_color( void * dp3, int d2 )
{
    RGB col;
   
    col.r = color_builder[ S_RED ].d2;
    col.g = color_builder[ S_GREEN ].d2;
    col.b = color_builder[ S_BLUE ].d2;
   
    vsync();
   
    set_color( 254, & col );
   
    return 0;
}


int main()
{
    /* inicializacja */
    allegro_init();
    install_keyboard();
    install_mouse();
    install_timer();
    set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0 );
    set_palette( desktop_palette );
   
    /* inicjalizacja pola z kolorem */
    update_color( NULL, 0 );
   
    /* uruchomienie dialogu */
    do_dialog( color_builder, - 1 );
   
    return 0;
}
END_OF_MAIN()
P-11686
DejaVu
» 2009-11-19 20:03:01
Jakoś nie widzę, żebyś zastosował się do tego co jest opisane w linku do tematu w którym znajduje się link do rozwiązania.
P-11687
DDD
Temat założony przez niniejszego użytkownika
» 2009-11-19 20:32:45
To gdzie ja robię błąd? Wydaje mi że robię tak jak tam kazali! przed tym dałem (void*). siedzę już około 40 min nad tym i nie mogę załapać gdzie robię błąd:(
No ale dzięki za pomoc!
P-11688
pixelmaster
» 2009-11-19 22:02:30
(void*) musisz dodać przed wywołaniem funkcji, a nie deklaracją
P-11689
DDD
Temat założony przez niniejszego użytkownika
» 2009-11-19 22:21:17
Wielkie dzięki chłopaki!!!;]
Temat zamknięty! Pozdrawiam!
P-11690
« 1 »
  Strona 1 z 1