我的一个工程,Release,可以执行,Debug就不可以不知道不是我装了VisualStudio Sp6导致的在没有装sp6的机器上测试正常。
下面是出错的代码
if(m_spd.Create("SpreadSheet", NULL, WS_BORDER, rect, this, 10000, NULL) == NULL)
{
MessageBox("Spread控件创建错误,请查看安装是否正确!", "提示",
MB_ICONWARNING | MB_OK);
return -1;
}
F5,调试到这里,就会弹出一个Dialog ,“Find Symbols”,提示:“Please Enter the path for mfcs42d.pdb”点击Cancel后,进入:
BOOL CWnd::InitControlContainer()
{
TRY
{
if (m_pCtrlCont == NULL)
m_pCtrlCont = afxOccManager->CreateContainer(this);
}
END_TRY // Mark all ancestor windows as containing OLE controls.
if (m_pCtrlCont != NULL)
{
CWnd* pWnd = this;
while ((pWnd != NULL) && !(pWnd->m_nFlags & WF_OLECTLCONTAINER))
{
pWnd->m_nFlags |= WF_OLECTLCONTAINER;
pWnd = pWnd->GetParent();
if (! (GetWindowLong(pWnd->GetSafeHwnd(), GWL_STYLE) & WS_CHILD))
break;
}
} return (m_pCtrlCont != NULL);
}这个是MFC的代码

解决方案 »

  1.   

    10000没有在资源中定义,在resource.h中加一条定义如:#define IDC_SPREAD 10000
      

  2.   

    直接用数字是肯定可以的,用IDC_SPREAD不还是被替换成10000
    而且,你说的也不行
      

  3.   

    刚才找了个vs+sp6的测试也没错(英文XP+VS+SP6),估计是我的vs有问题了我的是:中文XP+VS+SP6
    知道中文版本的sp6是干什么的么,我下载了但是不能装,提示:语言不对,装英文版本的就可以
      

  4.   

    中文版的不建议用。。英文vc6+sp6+va
    经典配置
      

  5.   

    我重装了vc和sp6,还是老问题
    :(