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

[SFML 2.1] Wyrzucanie błędu po zamknięciu aplikacji używającej sf::Music

Ostatnio zmodyfikowano 2013-09-15 11:12
Autor Wiadomość
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.
P-92090
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ę.
P-92091
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ą
P-92092
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 :)
P-92093
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.
P-92096
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).
P-92097
rafixxx25
Temat założony przez niniejszego użytkownika
» 2013-09-14 13:13:27
C/C++
#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:
C/C++
#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; //Jesli dam sf::Sound muzyka; to problem takze wystepuje
    while( oknoAplikacji.isOpen() )
    {
        oknoAplikacji.pollEvent( zdarzenie );
        if( zdarzenie.type == sf::Event::Closed )
             oknoAplikacji.close();
       
    }
    return EXIT_SUCCESS;
}
P-92098
DejaVu
» 2013-09-14 13:43:25
Frazy, które należy wpisać w wyszukiwarkę google:

http://cpp0x.pl/forum/temat/​?id=11829
P-92099
« 1 » 2
  Strona 1 z 2 Następna strona