 |
JLI Spieleprogrammierung
|
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
|
Verfasst am: 30.11.2005, 17:34 Titel: Herunterfahren von DirectXAudio |
|
|
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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 30.11.2005, 18:40 Titel: |
|
|
was für ne Fehlermuldun? Beim compilieren, oder zur Laufzeit? _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Dofter Junior JLI'ler

Alter: 34 Anmeldedatum: 13.03.2005 Beiträge: 99 Wohnort: Ebermannstadt Medaillen: Keine
|
Verfasst am: 30.11.2005, 20:42 Titel: |
|
|
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 |
|
 |
FH Super JLI'ler
Alter: 37 Anmeldedatum: 16.10.2004 Beiträge: 438
Medaillen: Keine
|
Verfasst am: 30.11.2005, 22:22 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 01.12.2005, 00:57 Titel: |
|
|
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  _________________ 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 |
|
 |
Dofter Junior JLI'ler

Alter: 34 Anmeldedatum: 13.03.2005 Beiträge: 99 Wohnort: Ebermannstadt Medaillen: Keine
|
Verfasst am: 01.12.2005, 13:25 Titel: |
|
|
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 |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 01.12.2005, 14:44 Titel: |
|
|
Initialisiere lpPerformace mit NULL und leg einen Breakpoint auf diese Zeile
Code: | if (FAILED(lpPerformance->InitAudio( |
und gucke, welchen Wert lpPerformance hat. |
|
Nach oben |
|
 |
Dofter Junior JLI'ler

Alter: 34 Anmeldedatum: 13.03.2005 Beiträge: 99 Wohnort: Ebermannstadt Medaillen: Keine
|
Verfasst am: 01.12.2005, 16:06 Titel: |
|
|
Also da steht bei lpPerformance - Wert: 0x092d65e0;
Ach ja, ich bentz des in ner dll. Liegt des vielleicht daran? |
|
Nach oben |
|
 |
Dofter Junior JLI'ler

Alter: 34 Anmeldedatum: 13.03.2005 Beiträge: 99 Wohnort: Ebermannstadt Medaillen: Keine
|
Verfasst am: 01.12.2005, 16:12 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 01.12.2005, 19:37 Titel: |
|
|
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
PS: Kannst du mal schauen, ob er überhaupt zum Release kommt. Vllt. scheitert ja schon Stop() oder CloseDown()  _________________ 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 |
|
 |
|
|
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
|