Здравствуйте, Prinzip, Вы писали:
P>Здравствуйте, Вячеслав Ермолаев, Вы писали:
ВЕ>>T.e видны эти TGroupBox и TMemo?
ВЕ>>А код конструктора (или тот участок, где GrBox и Memo создаются) и деструктора компонента можно?
P>Ох, сорри, в предыдущий раз не тот класс показщал не тот класс показал:
P>Буду рад, если укажешь на мою ошибку.
Был бы рад, но у меня этот код работает без ошибок
class TMyComponent2 : public TGroupBox
{
private:
TMemo *Memo;
public:
__fastcall TMyComponent2::TMyComponent2(TComponent* Owner)
: TGroupBox(Owner)
{
TMemo *iMemo = new TMemo(this);
iMemo->Parent=this;
Memo=iMemo;
}
__fastcall ~TMyComponent2(){delete Memo;};
};
vector<TMyComponent2*> allA;
void __fastcall TForm2::Button1Click(TObject *Sender)
{
static int i = 0;
static int nLeft = 0;
static int nTop = 0;
TMyComponent2 *A = new TMyComponent2(NULL);
A->Left = nLeft; nLeft += 10;
A->Top = nTop; nTop += 10;
A->Parent = this;
A->Name = "Component2" + AnsiString(i++);
allA.push_back(A);
}
void __fastcall TForm2::Button2Click(TObject *Sender)
{
for(unsigned int i=0; i<allA.size();i++)
delete allA[i];
allA.clear();
//vector<TComponent2*> allA1;
//allA.swap(allA1);
}
Деструктор вызывается, как ему и положено