在Duilib的项目中,有以下的代码:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
atexit(CheckOnExit);
::CoInitialize(NULL);
CPaintManagerUI::SetInstance(hInstance);
CDuiString str = CPaintManagerUI::GetInstancePath();
CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath() + _T("skin"));
CDuiFrameWnd *pFrame = new CDuiFrameWnd(_T("XMP.xml"));
pFrame->Create(NULL, _T("迅雷看看播放器"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE | WS_EX_ACCEPTFILES);
pFrame->ShowModal();
delete pFrame;
::CoUninitialize();
return 0;
}
出现了以下错误:
可以调试代码发现是因为xml文件没有加载成功,可以打断点发现str的值加上"skin"所在的目录没有xml文件,
xml文件具体在哪个文件夹可以根据具体情况进行调整,当把代码调整为如下代码是,可以正常运行:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
atexit(CheckOnExit);
::CoInitialize(NULL);
CPaintManagerUI::SetInstance(hInstance);
CDuiString str = CPaintManagerUI::GetInstancePath();
CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath() + _T("..\\..\\_bin\\skin"));
CDuiFrameWnd *pFrame = new CDuiFrameWnd(_T("XMP.xml"));
pFrame->Create(NULL, _T("迅雷看看播放器"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE | WS_EX_ACCEPTFILES);
pFrame->ShowModal();
delete pFrame;
::CoUninitialize();
return 0;
}