creation I can't explain by myself:
I've a VertexBuffer class which creates an VertexBuffer object in c'tor initialization:
HRESULT hr = d3ddev->CreateVertexBuffer(this->getSize(), 0, 0, // DON'T pass the FVF code we using vertex decleration D3DPOOL_MANAGED, &m_buffer, NULL); Note: m_buffer is a class Member: IDirect3DVertexBuffer9* m_buffer;
This works fine and the buffer is initialized with following values:
Quote
- m_buffer 0x028930c0 IDirect3DVertexBuffer9 *
- IDirect3DResource9 {...} IDirect3DResource9
- IUnknown {...} IUnknown
- __vfptr 0x6e772720 *
[0] 0x6e847490 *
[1] 0x6e7760c3 *
[2] 0x6e775a8d *
- IDirect3DResource9 {...} IDirect3DResource9
- IUnknown {...} IUnknown
- __vfptr 0x6e772720 *
[0] 0x6e847490 *
[1] 0x6e7760c3 *
[2] 0x6e775a8d *
But when the c'tor is left I lost the refernce to the IUnknown ressource
immediately:
Quote
- m_buffer 0x028930c0 IDirect3DVertexBuffer9 *
- IDirect3DResource9 {...} IDirect3DResource9
- IUnknown {...} IUnknown
- __vfptr 0xfeeefeee *
[0] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
[1] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
[2] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
- IDirect3DResource9 {...} IDirect3DResource9
- IUnknown {...} IUnknown
- __vfptr 0xfeeefeee *
[0] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
[1] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
[2] CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
How this could be happend? This issue only occurs using Visual Studio
2010 express edition. If i compile the same code with gcc and codeblocks
everything is working fine ...
This drives me nuts! Is there a restriction for MSVC DirectX Buffer
initialization I don't know?
Thanks for any help.
Best regards,
Snoop












