本文主要是介绍vc+mapx开发的程序“建立空文档失败”的最可能原因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从别人那里拷来MapX+MFC的程序琢磨,在别人机子上能正确运行,到了自己机器编译通过,点击运行总是提示“建立空文档失败。”,跟踪调试发现,在下面的函数中出现问题:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1) //该处CFrameWnd::OnCreate()返回-1,导致弹出出错提示!
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar/n");
return -1; // fail to create
}
百度发现,很多帖子分析了出错原因,但我根据帖中内容调试未有任何收获。无意中找到一个CSDN的老帖子讨论这个问题,恍然大悟。
原来我的机子上没装MapX这个ActiveX控件...
以前没怎么接触过Active控件(自己用ActiveX控件写过一些小程序,但没在别人机子上跑过,故没早遇到这种情况),这次算是一次经验积累吧。
在此提醒跟我情况差不多的新手们一定要注意这个问题,免得浪费太多时间在这些细节上。
这篇关于vc+mapx开发的程序“建立空文档失败”的最可能原因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!