JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Herunterfahren von DirectXAudio

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dofter
Junior JLI'ler


Alter: 34
Anmeldedatum: 13.03.2005
Beiträge: 99
Wohnort: Ebermannstadt
Medaillen: Keine

BeitragVerfasst am: 30.11.2005, 17:34    Titel: Herunterfahren von DirectXAudio Antworten mit Zitat

Hi alle zusammen

also bei mir zeigt das Programm igend wo da
CPP:
// performance freigeben
    if(lpPerformance)
    {
        lpPerformance->Stop(NULL,NULL,0,0);
        lpPerformance->CloseDown();
        lpPerformance->Release();
        lpPerformance = NULL;
    }

eine Fehlermeldung an.


hier die Intit Methode von lpPerformance:
CPP:
CoCreateInstance(CLSID_DirectMusicPerformance, NULL,
                     CLSCTX_INPROC, IID_IDirectMusicPerformance8,
                     (void**)&lpPerformance );
// Initialisieren
    lpPerformance->InitAudio(
        NULL,                 
        NULL,                 
        NULL,                 
        DMUS_APATH_DYNAMIC_STEREO,
        8,                   
        DMUS_AUDIOF_ALL,       
        NULL                   
    );
   

was is daran falsch?

mfg
Dofter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.11.2005, 18:40    Titel: Antworten mit Zitat

was für ne Fehlermuldun? Beim compilieren, oder zur Laufzeit?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dofter
Junior JLI'ler


Alter: 34
Anmeldedatum: 13.03.2005
Beiträge: 99
Wohnort: Ebermannstadt
Medaillen: Keine

BeitragVerfasst am: 30.11.2005, 20:42    Titel: Antworten mit Zitat

Die Anweisun in "0x5c902be" verweist auf den Speicher ind "0x095e7860". DerVogang "read" konnte nicht auf dem Speicher durchgeführt werden.
Also kompilieren und linken lässt es sich, doch bein beenden dann der Fehler.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
FH
Super JLI'ler


Alter: 37
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 30.11.2005, 22:22    Titel: Antworten mit Zitat

Welche Zeile genau?
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 00:57    Titel: Antworten mit Zitat

Bist du dir sicher, ob lpPerformance überhaupt einen sinnvollen Wert besitzt?
Falls nein, kann es beim Runterfahren leicht zu Problemen kommen.

Meistens sollten sich die Initialisierungsfunktionen mit FAILED() überprüfen lassen. Mach das am besten mal und schau, ob er DXAudio überhaupt korrekt initialisiert Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dofter
Junior JLI'ler


Alter: 34
Anmeldedatum: 13.03.2005
Beiträge: 99
Wohnort: Ebermannstadt
Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 13:25    Titel: Antworten mit Zitat

also:
bei initialisierung gabes keine Probleme!
CPP:
// Initialisieren
    if (FAILED(lpPerformance->InitAudio(
        NULL,                 
        NULL,                 
        NULL,                 
        DMUS_APATH_DYNAMIC_STEREO,
        8,                   
        DMUS_AUDIOF_ALL,       
        NULL                   
      )))
   {
      WriteToLog("Fehler bei lpPerformance->InitAudio");
      return;
   }

Schreibt nix ins Logbuch.

und wann es genau abstürtzt:

CPP:
WriteToLog("3");
    // performance freigeben
    if(lpPerformance)
    {
        lpPerformance->Stop(NULL,NULL,0,0);
        lpPerformance->CloseDown();
        lpPerformance->Release();
        lpPerformance = NULL;
    }
WriteToLog("4");


3 Wird noch ins Log geschrieben 4 nimmer.
Der Debugger sagt des:
...
5C9042AE push eax
5C9042AF push ecx
5C9042B0 call dword ptr [edx+20h]
5C9042B3 test eax,eax
5C9042B5 jl 5C9042E1
5C9042B7 mov eax,dword ptr [esi+30h]
5C9042BA mov eax,dword ptr [edi+eax+10h]
5C9042BE mov ecx,dword ptr [eax] <<<<< Hier der gelbe Pfeil
5C9042C0 lea edx,[ebp-14h]
5C9042C3 push edx
5C9042C4 push eax
5C9042C5 call dword ptr [ecx+0Ch]
5C9042C8 test eax,eax
5C9042CA jl 5C9042E1
5C9042CC cmp dword ptr [ebp-10h],ebx
5C9042CF jl 5C9042E1
5C9042D1 mov eax,dword ptr [ebp-14h]
5C9042D4 jg 5C9042DB
5C9042D6 cmp eax,dword ptr [ebp-0Ch]
...

also ich kann damit nix anfangen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 14:44    Titel: Antworten mit Zitat

Initialisiere lpPerformace mit NULL und leg einen Breakpoint auf diese Zeile

Code:
 if (FAILED(lpPerformance->InitAudio(



und gucke, welchen Wert lpPerformance hat.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dofter
Junior JLI'ler


Alter: 34
Anmeldedatum: 13.03.2005
Beiträge: 99
Wohnort: Ebermannstadt
Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 16:06    Titel: Antworten mit Zitat

Also da steht bei lpPerformance - Wert: 0x092d65e0;

Ach ja, ich bentz des in ner dll. Liegt des vielleicht daran?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dofter
Junior JLI'ler


Alter: 34
Anmeldedatum: 13.03.2005
Beiträge: 99
Wohnort: Ebermannstadt
Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 16:12    Titel: Antworten mit Zitat

also jetzt geht es.
Ich hab des herunterfahren von DXAudio aus dem Destrucktor raus und in ne Exit Funktion nei.
Resultat: keine Fehlermeldung mehr.
Woram könnte des liegen?

mfg Dofter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 01.12.2005, 19:37    Titel: Antworten mit Zitat

Hmm...dürfte es eigentlich nicht. Aber ich hatte glaub ich mal früher ein ähnliches Problem. Ich hab gedacht, man müsste den Destruktor von Hand aufrufen und demnach ist es zwei Mal released worden. Allerdings sollte das bei dir ja nicht funktionieren, da du den Zeiger hinterher auf 0 setzt Confused

PS: Kannst du mal schauen, ob er überhaupt zum Release kommt. Vllt. scheitert ja schon Stop() oder CloseDown() Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL 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