本帖最后由 zhtch791014 于 2011-04-26 21:26:23 编辑

解决方案 »

  1.   

    抱歉,刚搞错了
    1)单步调试到
    在设置datagrid列宽时
    程序如下
    头文件
    #include "COMDEF.H"
    #include "Columns.h"
    #include "Column.h"
    ...
    ... //设置表格列宽度
    //  _variant_t vIndex;
    //  vIndex = long(0);
    //  m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);子程序:
    CColumn CColumns::GetItem(const VARIANT& Index)
    {
    LPDISPATCH pDispatch;
    static BYTE parms[] =
    VTS_VARIANT;
    InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
    &Index);
    return CColumn(pDispatch);
    }
    问题出在:InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
    错误提示:Unhandled exception in Stock.exe:0xc0000005:Access violation.
      

  2.   

    大侠!
    我也遇到同样的问题:
    //设置表格列宽度
     _variant_t vIndex;
    vIndex = long(0);
    m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);//单步执行到此出错
    问题出在:InvokeHelper(0x0, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
    错误提示:Unhandled exception in Stock.exe:0xc0000005:Access violation.
    请问:找到解决的办法了吗
    qq:113609399,若有解决之道,能方便告知吗