这个问题好像是老问题了,查了下csdn中文档,好像还没有解决清楚,所以又拿来提问.
  是这样的,在mfc中导入并用上了datagrid控件,在有vc环境中运行很正常,但在vc没有装
  的机器上则报错.--------------------------------------------------
 以前有人apiaor()提问如下:
  我用MFCADO连接数据库,在debug下编译成功,在release编译成功,在我本机运行正常,但在非vc环境下datagrid控件动态创建失败。程序如下:  
  CDataGrid   *   m_pdatagrid1=NULL;  
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
  CRect   rect(10,10,400,250);  
  this->GetClientRect(&rect);  
        m_pdatagrid1=new   CDataGrid;  
  if   (m_pdatagrid1!=NULL)  
    {  
                if(!m_pdatagrid1->Create(NULL,_T(""),WS_CHILD|WS_VISIBLE,   rect,   this,7998))  
        {  
                AfxMessageBox("   grid   创建失败");  
        }  
      }  
  release编译后在非vc环境编译失败》  
  我已经注册了msdatgrd.ocx,  
  comcat.dll,  
  msbind.dll,  
  下面这个注册失败了。  
  stdftchs.dll   一位mengqimxz(雨)解答如下:
这个我以前碰到过有datagrid时,你需要注册的控件是  
    Msdatgrd.ocx  
    Msstdfmt.dll  
  你注册了前一个当然不行了  
  这两个都注册上就可以了,和其他的没有关系的
-------------------------------------------------------------
我也知道是datagrid在创建不成功,但是根据他说的有2个ocx,咋我自己机器上(装有vc环境)竟然没有
找到ocx 和dll.但是在vc环境还是可以运行的.看来就是不知道问题出现在哪里?
  希望先知们给于解答. 

解决方案 »

  1.   

    msstdfmt.dll是微软标准数据格式对象相关动态链接库文件,引用名称为“Microsoft Data Formatting Object Library”,如果在开发程序中有数据绑定,就是通过它对数据格式化后再绑定到控件的。虽然有时候程序里面没有对它进行引用,但如果用到数据绑定控件,那么就要记得把msstdfmt.dll加到安装程序里面。
      

  2.   


        Msdatgrd.ocx  
        Msstdfmt.dll    这2个文件在我机器上没有找到,搜了一次也没有找到,在vc6环境下也没有发现,它在哪里?