Здравствуйте ) Вопрос вероятно глупый, и возможно уже задавался (если так, то извиняюсь, поиск юзал, не помог)... Заклинило собственно вот на чем:
Пишу класс:
Цитата:
TMyObj = class(TForm)
private
{ Private declarations }
Button1 : TButton;
public
{ Public declarations }
end;
|
...............................................
- глобальные переменные
...............................................
Создаю оба объекта и кнопки в них
Цитата:
a:=TMyObj(TForm.Create(self));
a.button1:=TButton.Create(a);
b:=TMyObj(TForm.Create(self));
b.button1:=TButton.Create(b);
|
.................................................
Получаю Invalid Pointer Operation в конце выполнения программы ( при уничтожении объекта а (именно а, а не а.Button)). Кто знает, куда делся указатель на него?
P.s. Если запускать деструктор ручками, то деструктор кнопок выполняется, а деструктор Объекта а ругается. Если не делать Create для кнопок, то деструкторы выполняются без ошибок