|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Lokus Mini JLI'ler
Alter: 37 Anmeldedatum: 10.01.2005 Beiträge: 30
Medaillen: Keine
|
Verfasst am: 07.05.2005, 11:55 Titel: Debug Assertion Failed |
|
|
[cpp]
void CDXShow::Init()
{
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **)&lpGraphBuilder);
lpGraphBuilder->QueryInterface(IID_IMediaControl, (void **)&lpMediaControl);
lpGraphBuilder->QueryInterface(IID_IMediaEvent, (void **) &lpMediaEvent);
}
void CDXShow::AddFile(string File)
{
WCHAR wstrFileName[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, File.c_str(), -1, wstrFileName, MAX_PATH);
lpGraphBuilder->RenderFile(wstrFileName, NULL);
}
void CDXShow::PlayFile()
{
lpMediaControl->Run();
}
CDXShow::~CDXShow()
{
if(lpMediaControl)
{
lpMediaControl->Stop();
lpMediaControl->Release();
lpMediaControl = NULL;
}
if(lpMediaEvent)
{
lpMediaEvent->Release();
lpMediaEvent = NULL;
}
if(lpGraphBuilder)
{
lpGraphBuilder->Release();
lpGraphBuilder = NULL;
}
CoUninitialize();
}
CDXShow::CDXShow()
{
lpGraphBuilder = NULL;
lpMediaControl = NULL;
lpMediaEvent = NULL;
}[/cpp]
Hi Leutz bei diesem Quellcode, der in einer DLL steckt, habe ich so ein Problem immer wenn ich Funktion aus dieser Class aus meinem Hauptprogramm raus aufrufe, erhalte ich Fehler nach dem Motto "Debug Assertion Failed"! Könntet ihr mal den Quelltext durchschauen und gucken ob meinetwegen beim Konstruktor oder Destruktor Fehler sind!?
Denn wenn ich diese Fehler "ignoriere" dann Funktioniert diese Anwendung einwandtfrei, beim Beenden aber wiederum kommt wieder so ein Fehler!
Vielen Dank und beste Grüße
Lokus
PS: Es steckt auch noch DXAudio (wie im Buch drinn) in der DLL. Da ich dies aber vorher im Hauptprogramm hatte und es da funzte habe ich mir gedacht muss es an DXShow liegen, das ich mir irgendwie selber erschlossen habe!
Zuletzt bearbeitet von Lokus am 08.05.2005, 12:07, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Lokus Mini JLI'ler
Alter: 37 Anmeldedatum: 10.01.2005 Beiträge: 30
Medaillen: Keine
|
Verfasst am: 07.05.2005, 18:25 Titel: Näheres |
|
|
So ich hab ein bisschen gedebuggt und festgestellt, dass das Problem bei
CPP: | void CDXShow::AddFile(string File)
{
WCHAR wstrFileName[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, File.c_str(), -1, wstrFileName, MAX_PATH);
if(FAILED(lpGraphBuilder->RenderFile(wstrFileName, NULL)))
{
MessageBox(NULL, "Datei konnte nicht gerendert werden!", "Fehler", MB_OK);
}
} |
auftritt. Und zwar genau dann wenn das Programm nach der Methode "RenderFile" versucht den String zu zerstören...
Vielleicht hilft das ja weiter (also mir hats nicht geholfen ) |
|
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
|