void CSrLvliRecord::UpdateListCount (void) { dword Count = CountSubrecords(SR_NAME_LVLO); if (Count > SR_LVLO_MAXCOUNT) { SystemLog.Printf("WARNING: Exceeded maximum of %d LVLO subrecords!", SR_LVLO_MAXCOUNT); int Counter = 0; for (dword i = 0; i < m_Subrecords.GetSize(); ++i) { if (m_Subrecords[i]->GetRecordType() != SR_NAME_LVLO) continue; ++Counter; if (Counter > SR_LVLO_MAXCOUNT) { m_Subrecords.Delete(i); if (m_Subrecords[i] != NULL && m_Subrecords[i]->GetRecordType() == SR_NAME_COED) m_Subrecords.Delete(i); --i; } } SetListCount(SR_LVLO_MAXCOUNT); } SetListCount(Count); }
void CSrCobjRecord::UpdateComponentCount (void) { if (m_pComponentCount == NULL) { AddNewSubrecord(SR_NAME_COCT); if (m_pComponentCount == NULL) return; m_pComponentCount->InitializeNew(); } m_pComponentCount->SetValue(CountSubrecords(SR_NAME_CNTO)); }