Имеется некий объект, состоящий из нескольких объектов. У него есть метод Destroy, в котором данный объект уничтожается. В этом методе по идее нужно прописать методы Destroy всех составных объектов. Но при попытке закрыть форму с объектом, у которого Destroy описан таким образом, появляется ошибка AV. Я не понимаю, в чём дело. Кто знает, подскажите.
Нужен код, в слепую непонятно что там у вас и укажите язык на котором пишите...
Используйте отладчик, найдите место в котором валится программа и смотрите, что там происходит. Скорее всего вы пытаетесь разрушить объект, который не существует, т.е. либо он уже разрушен, либо он вообще не был создан. Посмотрите, правильно ли у вас вызывается метод Destroy родительского класса, т.е.:
destructor TMyObject.Destroy;
begin
inherited Destroy; Неправильный код, метод Destroy родительского класса должен быть вызван не здесь
Obj1.Free;
Obj2.Free;
end;
destructor TMyObject.Destroy;
begin
Obj1.Free;
Obj2.Free;
inherited Destroy; Правильно...
end;
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы