Показать сообщение отдельно
  #1  
Старый 07.05.2009, 21:01
KACAH KACAH вне форума
Прохожий
 
Регистрация: 07.05.2009
Сообщения: 5
Репутация: 10
Вопрос Поля Класса и Invalid Pointer Operation

Здравствуйте ) Вопрос вероятно глупый, и возможно уже задавался (если так, то извиняюсь, поиск юзал, не помог)... Заклинило собственно вот на чем:

Пишу класс:

Цитата:
TMyObj = class(TForm)
private
{ Private declarations }
Button1 : TButton;
public
{ Public declarations }
end;

...............................................

Цитата:
var a, b : TMyObj;
- глобальные переменные

...............................................

Создаю оба объекта и кнопки в них

Цитата:
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 для кнопок, то деструкторы выполняются без ошибок
Ответить с цитированием