//--------------------------------------------------------------------------- #include #pragma hdrstop #include "octopus.h" #include "define.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- __fastcall Octopus::Octopus(){ used=false; hasHead=false; head_wideness=0; tension=0; ListOfLeg = new TList; ListOfMLeg = new TList; ListOfSLeg = new TList; ListOfHead = new TList; } //--------------------------------------------------------------------------- __fastcall Octopus::~Octopus(){ /* while(ListOfLeg->Count){ delete (LEG *)ListOfLeg->Last(); ListOfLeg->Remove(ListOfLeg->Last()); } delete ListOfLeg; while(ListOfMLeg->Count){ delete (MLEG *)ListOfMLeg->Last(); ListOfMLeg->Remove(ListOfMLeg->Last()); } delete ListOfMLeg; while(ListOfSLeg->Count){ delete (SLEG *)ListOfSLeg->Last(); ListOfSLeg->Remove(ListOfSLeg->Last()); } delete ListOfSLeg; while(ListOfHead->Count){ delete (HEAD *)ListOfHead->Last(); ListOfHead->Remove(ListOfHead->Last()); } delete ListOfHead; */ LEG *itemLEG = NULL; for (int i = 0; i < ListOfLeg->Count; i++) { itemLEG = (LEG *)ListOfLeg->Items[i]; delete itemLEG; } ListOfLeg->Clear(); delete ListOfLeg; MLEG *itemMLEG = NULL; for (int i = 0; i < ListOfMLeg->Count; i++) { itemMLEG = (MLEG *)ListOfMLeg->Items[i]; delete itemMLEG; } ListOfMLeg->Clear(); delete ListOfMLeg; SLEG *itemSLEG = NULL; for (int i = 0; i < ListOfSLeg->Count; i++) { itemSLEG = (SLEG *)ListOfSLeg->Items[i]; delete itemSLEG; } ListOfSLeg->Clear(); delete ListOfSLeg; HEAD *itemHEAD = NULL; for (int i = 0; i < ListOfHead->Count; i++) { itemHEAD = (HEAD *)ListOfHead->Items[i]; delete itemHEAD; } ListOfHead->Clear(); delete ListOfHead; } //---------------------------------------------------------------------------