*ppNewFrame = pFrame;



  • Hey Leute
    Habe mal wieder ein problem 🙂 😞
    Ich arbeite zur Zeit an einer Mesh Klasse und im speziellen an Animationen. (d.h. ich möchte eine Mesh Klasse, die animierte Meshes "erlaubt"). Ich benutze DirectX 9 und nutze zum Laden der Hierarchie die D3DXLoadMeshHierarchyFromX Funktion. Um diese nutzen zu können muss man ja eine Klasse von ID3DXAllocateHierarchy ableiten. das habe ich auch gemacht und in dessen CreateFrame Methode tue ich ungefähr das selbe, wie im directx sample zu skinned meshes, hier mal mein code:

    // Frame erstellen
    HRESULT CAllocateHierarchy::CreateFrame(LPCTSTR pusName, D3DXFRAME ** ppSFrame)
    {
    	// Lokale Variablen und Initialisierung
    	D3DXFRAME * pSFrame = new D3DXFRAME;
    	ZeroMemory(pSFrame, sizeof (D3DXFRAME));
    	ppSFrame = NULL;
    
    	// Namen übergeben
    	pSFrame->Name = new char[lstrlen(pusName) + 1];
    	lstrcpy(pSFrame->Name, pusName);
    	pSFrame->Name[lstrlen(pusName)] = '\0';
    
    	// Frame übergeben
    	*ppSFrame = pSFrame; // FEHLER!!!
    	return S_OK;
    }
    

    nun bekomme ich aber beim ausühren des Programmes eine Fehlermeldung:
    Unhandled exception in Test.exe 0x0000005: Acces Violation
    der fehler bezieht sich auf die im code markierte stelle.
    ( ich benutze MSVC++ 6). woran liegt das? Im DX Sample wird es genauso gemacht, und da geht es

    Anmerkungen
    vorsilben wie pus, pS, etc. gehören zu meinem "Programmierstil", sie geben den typ einer variable an, außerdem wird in dem code nicht auf fehler geprüüft (z.b. if (!pSFrame)...), ich habe mir aber die werte schon im debugger angeschaut und sie sind alle ok.

    bitte dringenst um hilfe, danke schonmal



  • Dieses Problem kann der Poster IMHO selbst lösen. Unter Umständen ist dazu eines der folgenden Hilfsmittel zu nutzen:
    - Dokumentation zur benutzen API
    - google
    - FAQ/Suche dieses Boards
    - Debugger
    - geringe Mengen Gehirnschmalz

    Dieses Posting wurde nicht automatisch generiert sondern per Hand eingefügt. Beschwerden werden trotzdem ignoriert.

    Disclaimer: dies ist kein direkter persönlicher Angriff.

    Bye, TGGC (Reden wie die Großen)



  • - Dokumentation zur benutzten API
    Wie gesagt, ich habe den Code aus der Doku, nur eben etwas verändert/an meinen "Stil" angepasst.

    -google
    Hab ich gemacht, hat aber nicht wirklich etwas ausgespuckt, nur immer das sample aus der doku, wozu ich jetzt nicht noch ein drittes mal was schreiben möchte

    - FAQ/Suche dieses Boards
    Ähnlich wie bei Google

    - Debugger
    Wie bereits gesagt habe ich mir die Werte im Debugger bereits angesehen...!

    - Geringe Mengen gehirnschmalz
    Nobody is perfect 😉

    falls jemand konstruktive hilfe hat (nicht persöhnlich nehmen TGGC 😉 ), bitte posten, danke 🙂



  • OK, ich nehme alles zurück, 1000 mal sorry. so steht der code nicht in der doku/sample, folgende zeile ist natürlich falsch:
    ppSFrame = NULL;
    und muss natürlich:
    *ppSFrame = NULL;
    heißen... 🙄 🕶
    sorry nochmal, kann mich bitte mal jemand treten ? 😉



  • Babbo schrieb:

    sorry nochmal, kann mich bitte mal jemand treten ? 😉

    Gerne, komm bei Gelegenheit vorbei.

    Bye, TGGC \-/


Anmelden zum Antworten