Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ FLTK, przyciski, czytanie pliku, nowe okno.


Rekomendowane odpowiedzi

Opublikowano

Cześć, mam pytanie odnośnie FLTK w C++. Chciałem napisać coś w rodzaju menu, jednak póki co nie działa mi nawet najprostszy z nich - wyjście. Jest to napisane w ten sposób:

Button:

Fl_Button* exit = new Fl_Button(50, 180, 130, 40, "Wyjscie");

Przypisanie funkcji która ma spełniać:

end_button->callback((Fl_Callback*)end,(void*)this);

No i sama funkcja:

void Menu::end(Fl_Widget*, void*)
{
	exit(0);
}

Jednak po przypisaniu jej do przycisku, VS 2013 świruje totalnie... 

A no i w pliku.h:

Fl_Button *start_button, *stats_button, *options_button, *end_button;

Jest ktoś w stanie pomóc?

 

I mam jeszcze pytanie, jak przypisać do innego przycisku automatyczne czytanie pliku i otworzenie go w nowym oknie? 

Opublikowano

3mAmCWg.jpg

 

A jeśli usunę tą linijkę:

end_button->callback((Fl_Callback*)end,(void*)this);

To się wszystko kompiluje.

Opublikowano

czy jesteś pewny, że end_button jest zainicjowany(chyba tak się odmienia)? masz gdzieś w kodzie coś w stylu:

 

end_button = new Button();
?
Opublikowano

Próbujesz zapisać cos do do pamięci do której nie masz dostępu. Czyli prawdopodobnie nie zainicjowałes prawidłowo buttonów. A jeze masz wszystko dobrze zainicjonowane, to sprawdz moze czy callback jest prawidłowo przypisany. Uzywasz dynamicznego alokowania pamieci, pamietaj tez o jego zwalnianiu bo to tez moze byc przyczyną :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...