D3DXLoadSurfaceFromFile会导致程序过早关闭

时间:2012-10-02 23:21:04

标签: c++ directx

我是DirectX和C ++编程的新手,但需要完成作业(我已经完成了实际的作业,但是无法让我的代码在编译后运行)。我已经进入我的程序,发现问题是我的D3DXLoadSurfaceFromFile电话。实际代码是

//load m_Surface from file into newly created m_Surface
result = D3DXLoadSurfaceFromFile(
    m_Surface,
    NULL,
    NULL,
    m_BackgroundFile,
    NULL,   
    D3DX_DEFAULT,
    0,  
    NULL);      

'结果'在哪里:

    HRESULT result = m_d3ddev->CreateOffscreenPlainSurface(
    SCREENW,            //An int set to 640
    SCREENH,            //An int set to 480
    D3DFMT_X8R8G8B8,    //m_Surface's format
    D3DPOOL_DEFAULT,    //Memory pool
    &m_Surface,         //Pointer to m_Surface
    NULL);              //Reserved

m_SurfaceLPDIRECT3DSURFACE9,最初设置为NULL

m_BackgroundFile设置为“filename.bmp”(24位位图)

和(我认为/希望)其他一切都是不言自明的。

如果有帮助,请在检查之前(这是导致程序关闭的检查)

if (!SUCCEEDED(result))
    return false;

结果设置为S_OK,然后设置为-200559767

1 个答案:

答案 0 :(得分:0)

从您的代码中,我没有看到任何错误,但我猜您将错误的文件传递给参数m_BackgroundFile,程序无法找到该文件或文件的格式不合格。