none
Flex Grid control issue, - Exception code: E06D7363

    Question

  • Hi,

    I have a serious problem that happens a long time on a customer site with a flex grid control, which reproduced periodically, each two weeks.  I tried to install the newest Flex Grid control, and insured that it registered successfully, but it’s still happen. I wonder if someone encountered with the following problem or / and can help with it:

     

    After two weeks of work, sometimes, the exception (see details below) appears and Flex Grid control stops work. After analyzing the dump file, I see that it’s happen when calling   SetRedraw(FALSE) of flex grid control. The pointer of flex control is not null and should be valid.

     

    Exception code: E06D7363  

    Fault address:  7C812A5B 01:00011A5B C:\WINDOWS\system32\kernel32.dll  

    Registers:  EAX:1EF1EEA4 EBX:00000000 ECX:00000000 EDX:80B90027 ESI:1EF1EF34 EDI:1EF1EF34  CS:EIP:001B:7C812A5B  SS:ESP:0023:1EF1EEA0  EBP:1EF1EEF4  DS:0023  ES:0023  FS:003B  GS:0000  Flags:00000206  

    Call stack:  Address   Frame     Logical addr  Module  7C812A5B  1EF1EEF4  0001:00011A5B C:\WINDOWS\system32\kernel32.dll 

    7C359AED  1EF1EF34  0001:00018AED C:\5300\BIN_RE~1\MSVCR71.dll 

    7C1F4872  1EF1EF54  0001:000B3872 C:\5300\BIN_RE~1\MFC71.DLL 

    7C17FB83  1EF1EFD8  0001:0003EB83 C:\5300\BIN_RE~1\MFC71.DLL 

    7C14721A  1EF1EFF8  0001:0000621A C:\5300\BIN_RE~1\MFC71.DLL 

    11751D66  1EF1F06C  0001:00050D66 C:\5300\BIN_RE~1\ResultHandler.dll 

    11715EC4  1EF1F11C  0001:00014EC4 C:\5300\BIN_RE~1\ResultHandler.dll 

    11715D65  1EF1F1AC  0001:00014D65 C:\5300\BIN_RE~1\ResultHandler.dll 

    117156BB  1EF1F238  0001:000146BB C:\5300\BIN_RE~1\ResultHandler.dll 

    1173A8DB  1EF1F2E4  0001:000398DB C:\5300\BIN_RE~1\ResultHandler.dll 

    117389ED  1EF1F4F4  0001:000379ED C:\5300\BIN_RE~1\ResultHandler.dll 

    1174C333  1EF1F59C  0001:0004B333 C:\5300\BIN_RE~1\ResultHandler.dll 

    77E79DC9  1EF1F5BC  0001:00008DC9 C:\WINDOWS\system32\RPCRT4.dll 

    77EF321A  1EF1F9C4  0002:0000021A C:\WINDOWS\system32\RPCRT4.dll 

    77EF3BF3  1EF1FA1C  0002:00000BF3 C:\WINDOWS\system32\RPCRT4.dll 

    77600C31  1EF1FA5C  0002:00000C31 C:\WINDOWS\system32\ole32.dll 

    77600BDB  1EF1FAA4  0002:00000BDB C:\WINDOWS\system32\ole32.dll 

    7750F237  1EF1FB7C  0001:0002E237 C:\WINDOWS\system32\ole32.dll 

    7750F15C  1EF1FB98  0001:0002E15C C:\WINDOWS\system32\ole32.dll 

    7750FC79  1EF1FBC4  0001:0002EC79 C:\WINDOWS\system32\ole32.dll 

    77600E3B  1EF1FBF8  0002:00000E3B C:\WINDOWS\system32\ole32.dll 

    776009BC  1EF1FCCC  0002:000009BC C:\WINDOWS\system32\ole32.dll 

    77600DF2  1EF1FCF8  0002:00000DF2 C:\WINDOWS\system32\ole32.dll 

    7750FCB3  1EF1FD0C  0001:0002ECB3 C:\WINDOWS\system32\ole32.dll 

    7750FAE9  1EF1FD24  0001:0002EAE9 C:\WINDOWS\system32\ole32.dll 

    77D48734  1EF1FD50  0001:00007734 C:\WINDOWS\system32\USER32.dll 

    77D48816  1EF1FDB8  0001:00007816 C:\WINDOWS\system32\USER32.dll 

    77D489CD  1EF1FE18  0001:000079CD C:\WINDOWS\system32\USER32.dll 

    77D496C7  1EF1FE28  0001:000086C7 C:\WINDOWS\system32\USER32.dll  >

     

     

    Any help is appreciated.

     

    Thanks

      George S.

    Sunday, September 06, 2009 11:55 AM

All replies

  • It is dying on an unhandled C++ exception.  ResultHandler.dll doesn't sound much like "Flex grid".  Is this your code?

    Hans Passant.
    Sunday, September 06, 2009 3:20 PM
  • Yes, ResultHandler is a component that contains a FlexGrid control and as I mention, it's happen when pFlexGridControl->SetRedraw(FALSE); is called.

    Thanks
     George S.
    Monday, September 07, 2009 5:26 AM
  • Thanks to everyone for trying to help me, here some clarifications: 

    1.      C:\5300\BIN_RE~1 – is folder where all binaries are stored on 
    client computer,  this is an answer why all mfc dependency are copied 
    there. 
    2.      ResultHandler – is my component, which holds FlexGrid control, 
    11751D66  1EF1F06C  0001:00050D66 C:\5300\BIN_RE~1\ResultHandler.dll 
    - this trace pointing to row:

    m_pGrid->SetRedraw(FALSE);

    See all function below.

    When calling this function, an exception is thrown.

    HRESULT CGridDataSource::FillGridRow() 
    {

        HRESULT hr(S_OK); 
        CString strRow;

        m_pGrid->SetRedraw(FALSE); 
        int nFieldCount = m_arrayFields.GetUpperBound() + 1;

        for (int i=0;i < nFieldCount;++i) 
        { 
            CString strValue;

            if (FAILED(GetFieldValue(m_arrayFields[i], strValue))) 
            { 
                hr = RH_E_FIELD_NOT_FOUND; 
                break; 
            }

            strRow += strValue;

            if (i != (nFieldCount - 1)) 
                strRow += _T("\t"); 
        }

        long lRows = m_pGrid->GetRows(); 
        if (lRows > m_nMaxRowsInGrid) 
        { 
            m_pGrid->RemoveItem(1); 
            lRows -= 2; 
        } 
        else 
            lRows -= 1;

        ASSERT(m_pGrid);

        m_pGrid->AddItem((LPCTSTR)strRow, _variant_t(lRows));

        if (CDataGridEvents::m_bAutoScroll) 
        { 
            m_pGrid->SetTopRow(lRows+1); 
        } 
        m_pGrid->SetRedraw(TRUE);

        return (hr);

     



    Thanks forward 
      George S. 
    Tuesday, September 08, 2009 6:20 AM