Ejemplo n.º 1
0
/*===========================================================================
 *
 * Class CSrErrorHandler Method - void AddErrorV (Type, Code, SubCode, Level, pString, Args);
 *
 * Adds a new error to the end of the array.
 *
 *=========================================================================*/
void CSrErrorHandler::AddErrorV (const int Type, const int Code, const int SubCode,
				 const int Level, const SSCHAR* pString, va_list Args) {

	/* Free old errors as needed */
  if (m_NumRecords >= SR_MAX_ERRORS) DeleteHalf();

  m_pRecords[m_NumRecords] = new CSrError;
  ++m_NumRecords;

  if (m_MsgPrefix.IsEmpty()) {
    CSString Buffer(m_MsgPrefix);
    Buffer += pString;
    m_pRecords[m_NumRecords - 1]->CreateV(Type, Code, SubCode, Level, Buffer, Args);
  }
  else
    m_pRecords[m_NumRecords - 1]->CreateV(Type, Code, SubCode, Level, pString, Args);

	/* Output log message */
  SystemLog.ErrPrintf("*** %s ***", m_pRecords[m_NumRecords - 1]->GetErrorTypeString().c_str());
  SystemLog.ErrPrintf("               Code = %d (%d)", Code, SubCode);
  SystemLog.ErrPrintf("              Level = %s", m_pRecords[m_NumRecords - 1]->GetErrorLevelString().c_str());
  SystemLog.ErrPrintf("       User Message = %s", m_pRecords[m_NumRecords - 1]->GetErrorMessage());
  SystemLog.ErrPrintf("        Description = %s", m_pRecords[m_NumRecords - 1]->GetErrorString().c_str());

	/* Call any registered callback functions */
  DoCallbacks(m_pRecords[m_NumRecords - 1]);
 }
Ejemplo n.º 2
0
void CListBoxCtrl::OnSelchange()
{
    if (multiSelection)
        {
            int numSel = GetSelCount();
            m_intValArray.AllocAndSetSize(numSel);
            GetSelItems(numSel, m_intValArray.tListData);
        }
    else
        (*m_pintVal) = GetCurSel();

    DoCallbacks();
}
Ejemplo n.º 3
0
void CButtonCtrl::OnButtopaCalcssed()
{
    DoCallbacks();
}