[SFML 2.1] Wyrzucanie błędu po zamknięciu aplikacji używającej sf::Music
Ostatnio zmodyfikowano 2013-09-15 11:12
rafixxx25 Temat założony przez niniejszego użytkownika |
[SFML 2.1] Wyrzucanie błędu po zamknięciu aplikacji używającej sf::Music » 2013-09-14 11:12:18 Gdy stworzę jakąkolwiek prostą aplikację używającą klasy sf::Music(sf::Sound też) program normalnie się odpala, dźwięki działają, ale po zamknięciu wyrzuca mi błąd(używam Visual Studio 2010): Unhandled exception at 0x74e7a4b9 in sfml-1.exe: 0xC0000005: Access violation reading location 0xfeeefeee.
Wystarczy utworzyć obiekt klasy sf::Music, by po zamknięciu aplikacji wyskoczył ten błąd. Wie ktoś może jak rozwiązać ten problem? Pojawia się on zarówno w trybie Release jak i Debug. Pozdrawiam. |
|
Wasilek |
» 2013-09-14 11:32:35 Nie ogarniałem sf::Music (a ty nie wkleiłeś kodu :P), ale może trzeba zatrzymać odtwarzanie muzyki i dopiero wtedy wyłączyć aplikację. |
|
rafixxx25 Temat założony przez niniejszego użytkownika |
» 2013-09-14 11:34:37 No właśnie problem w tym, że niezależnie co zrobię(nawet nie wczytam muzyki; wczytam i nie odtworzę; wczytam, odtworzę i zatrzymam) zawsze po zamknięciu aplikacji wywali błąd. Nawet przykładowy kod ściągnięty z neta tak ma. Wygląda, jakby był jakiś problem z tą klasą |
|
Wasilek |
» 2013-09-14 11:41:51 Informacje jakie znalazłem "0xfeeefeee is an address that appears in DEBUG builds (under Visual Studio anyway) when a pointer has not been set to anything. (it's a helper to find memory leaks)"
Szukaj rozwiązania po tym "0xfeeefeee" wyskakuje trochę wyników :) |
|
DejaVu |
» 2013-09-14 12:59:42 Gdzieś już był podobny wątek na forum dotyczący dźwięku. Wtedy chyba stanęło na tym, że jest to znany bug SFML-a. |
|
akwes |
» 2013-09-14 13:05:43 Pokaż minimalny kod, w którym ten błąd się pokazuje (czyli wywal wszystko inne co dotyczy Twojego projektu zostawiając jedynie tyle aby wywoływał się jeszcze błąd). |
|
rafixxx25 Temat założony przez niniejszego użytkownika |
» 2013-09-14 13:13:27 #include <SFML/Graphics.hpp> #include <SFML/Audio.hpp> int main() { sf::RenderWindow oknoAplikacji( sf::VideoMode( 100, 100, 32 ), "Aplikacja testowa" ); sf::Event zdarzenie; sf::Music muzyka; if( !muzyka.openFromFile( "dzwiek.ogg" ) ) return EXIT_FAILURE; while( oknoAplikacji.isOpen() ) { while( oknoAplikacji.pollEvent( zdarzenie ) ) { switch( zdarzenie.type ) { case sf::Event::Closed: oknoAplikacji.close(); break; case sf::Event::KeyPressed: if( zdarzenie.key.code == sf::Keyboard::Key::Return ) { muzyka.play(); } break; } } oknoAplikacji.display(); } muzyka.stop(); return EXIT_SUCCESS; }
Otwiera mi się okienko, po kliknięciu enter poprawnie odtwarza się dźwięk, lecz po zamknięciu wywala błąd w VS. Błąd występuje nawet po zamknięciu aplikacji o takim kodzie: #include <SFML/Graphics.hpp> #include <SFML/Audio.hpp> int main() { sf::RenderWindow oknoAplikacji( sf::VideoMode( 100, 100, 32 ), "Aplikacja testowa" ); sf::Event zdarzenie; sf::Music muzyka; while( oknoAplikacji.isOpen() ) { oknoAplikacji.pollEvent( zdarzenie ); if( zdarzenie.type == sf::Event::Closed ) oknoAplikacji.close(); } return EXIT_SUCCESS; }
|
|
DejaVu |
» 2013-09-14 13:43:25 |
|
« 1 » 2 |