JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=13a87ef1137f3b972f601b7680781821Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Laufzeitfehler mit LoadSound

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
newby
JLI'ler



Anmeldedatum: 17.08.2007
Beiträge: 106

Medaillen: Keine

BeitragVerfasst am: 17.04.2008, 16:11    Titel: Laufzeitfehler mit LoadSound Antworten mit Zitat

Hallo, immer wenn ich mit der Funktion:

CPP:
BOOL LoadSound(char* FILE_NAME)
    {
        int error = 0;

        WCHAR wstrFileName[MAX_PATH];
        MultiByteToWideChar(CP_ACP, 0, FILE_NAME, -1, wstrFileName, MAX_PATH);

        lpLoader->LoadObjectFromFile(
                                        CLSID_DirectMusicSegment,
                                        IID_IDirectMusicSegment8,
                                        wstrFileName,
                                        (LPVOID*) &SoundFiles[FILE_NAME]);

        SoundFiles[FILE_NAME]->Download( lpPerformance );

        if(error != 0)
        {
            //SetError(error);
            return FALSE;
        }

        return TRUE;
    }


eine Sounddatei lade, sagt mir windows beim beenden des Programms das das Programm wegen eines Fehlers beendet werden musste. Das laden und abspielen funktioniert aber.
Beim beenden des Programms rufe ich das hier auf:

CPP:
map<string, IDirectMusicSegment8*>::iterator it;
        for(it=SoundFiles.begin();it!=SoundFiles.end();it++)
        {
            (*it).second->Release();
        }


        if(lpPerformance != NULL)
        {
            lpPerformance->Stop(NULL, NULL, 0, 0);
            lpPerformance->CloseDown();
            lpPerformance->Release();
            lpPerformance = NULL;
        }

        if(lpLoader != NULL)
        {
            lpLoader->Release();
            lpLoader = NULL;
        }

        CoUninitialize();


Habt ihr eine Idee woran das liegen könnte?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 18.04.2008, 16:52    Titel: Antworten mit Zitat

also der fehler tritt nicht auf, wenn du den Sound nicht lädst? Dann würde ich am Ende einfach mal mit dem Debugger durchgehen. Da siehst du ja, an welcher zeile das liegt. Und schau auch mal in die Ausgabe nach ob dort DirectX-Meldungen sind (hast du DX auf die Debug version gestellt?). Meistens passiert sowas bei Freigeben eines Speichers, der nicht da ist o.ä...

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
newby
JLI'ler



Anmeldedatum: 17.08.2007
Beiträge: 106

Medaillen: Keine

BeitragVerfasst am: 18.04.2008, 19:10    Titel: Antworten mit Zitat

thx, hab den fehler gefunden, hab die segmente nicht richtig released, der durchlauf von map hat nicht funktioniet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum