Hallo Leute,
wir erstellen für unsere Engine eine Interface-DLL, welche von sich aus verschiedene Module (auch im DLL-Format) nachlädt.
Dadurch soll eine modulare Engine entstehen.
Wir laden z.b. als Renderer eine DX9 DLL, eine DLL für die Console, für das Script usw.
Das klappt auch alles hervorragend.
Jetzt aber wird es merkwürdig. Als Sound-DLL laden wir eine DLL die Funktionen von XAudio2 aufruft. Das klappt soweit ganz gut.
XAudio wird initialisiert, erstellt ein Device. Auch danach ist noch alles Ok. Rufen wird jetzt jedoch eine Funktion des Xaudio2-Device auf, wird anschließend die Interface-DLL beim beenden des Testprogramms nicht mehr "Detached". Außerdem wird die funktion für das automatische erstellen eines Memory Leak Check (über _Crt Funktionen) nicht mehr aufgerufen. Bevor man irgendeine Funktion auf dem XAudio-Deivce aufruft aber schon.
Wir haben schon alles gepüft. Das XAudio-Device wird komplett freigegeben.
Merkwürdig ist, dass schon eine einfache Adapter-Enumeration reicht, um dieses Phänomen zu bekommen.
Was kann da schiefgehen? Wieso wird der Exit-Code der CRT nicht mehr richtig aufgerufen?
XAudio2 in einer DLL
Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Zurück zu „Programmiersprachen, Quelltext und Bibliotheken“
Gehe zu
- Aktuelles
- ↳ News und Ankündigungen
- Programmierung
- ↳ Grafikprogrammierung
- ↳ Programmiersprachen, Quelltext und Bibliotheken
- ↳ Algorithmen und Datenstrukturen
- Spieleentwicklung
- ↳ Allgemeine Fragen der Spieleentwicklung
- ↳ Gamedesign und Kreatives
- ↳ Autorensysteme und Toolkits
- ↳ Artikel, Tutorials und Materialien
- Community
- ↳ Allgemeines Talk-Brett
- ↳ Vorstellungsbereich
- ↳ Zusammenarbeit
- ↳ ZFX Action
- ↳ ZFX Action '24 - Winter
- ↳ ZFX Action 23'1
- ↳ ZFX Halloween'21 Action
- ↳ ZFX Action XVIII
- ↳ ZFX Action XVII
- ↳ ZFX Action XVI
- ↳ ZFX Action XV
- ↳ ZFX Action XIV
- ↳ ZFX Action XIII
- ↳ ZFX Action XII
- ↳ ZFX Action XI
- ↳ ZFX Action X
- ↳ ZFX Action IX
- ↳ ZFX Action VIII
- ↳ ZFX Action 7
- ↳ ZFX Action 6
- ↳ ZFX Action V
- ↳ ZFX Action 4
- ↳ ZFX Action III
- ↳ ZFX Action Round 2
- ↳ ZFX Action 1
- Links
- ↳ ZFX-Archiv
- ↳ Developia-Archiv
- ↳ Assimp
- ↳ ZFX auf Facebook