Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
Вниз
Проблема удаления объектов Найти похожие ветки
← →
AAN (2007-06-05 19:37) [0]Здравствуйте. Подскажите,пожалуйста, как попроще написать в Delphi_7 деструктор, удаляющий при закрытии с формы Shape, Image, Label, Edit.
Заранее благодарю за поддержку и сотрудничество.
Alex.
← →
Джо © (2007-06-05 19:38) [1]Деструктор чего?
← →
Джо © (2007-06-05 19:39) [2]П.С. Если Shape, Image, Label, Edit были помещены на форму в дизайн-тайм, то удалены они будут автоматически при уничтожении экз. формы. Это я на всякий случай, мало ли что :)
← →
AAN (2007-06-05 20:09) [3]Деструктор компонентов:Shape, Image, Label, Edit.
В начале, с помощью Create, они были помещены на форму.
В конце, с помощью этого деструктора, они должны удаляться с формы.
← →
DrPass © (2007-06-05 20:13) [4]
> Деструктор компонентов:Shape, Image, Label, Edit
Деструктор компонентов уже есть у этих компонентов. Ничего там писать не нужно.
Если ты сам их создал в обработчике какого-то события (например, в OnCreate формы), то сам удали, например, в обработчике в OnDestroy
← →
AAN (2007-06-05 20:27) [5]Не понял? Каким образом это сделать?
← →
Джо © (2007-06-05 20:31) [6]> [5] AAN (05.06.07 20:27)
> Не понял? Каким образом это сделать?
В дизайнере объектов выделить форму, перейте на вкладку Events, щелкнуть на пустом поле напротив названия события (напр., OnCreate). В открывшемся окне кода написать нужный код.
← →
AAN (2007-06-05 20:35) [7]Нет. Этот аспект как раз ясен. Вопрос в другом. Каккой код надо ввести?
← →
DrPass © (2007-06-05 20:47) [8]Хм...
Shape.Free
или даже if Assigned(Shape) then Shape.Free
← →
Джо © (2007-06-05 21:02) [9]> [8] DrPass © (05.06.07 20:47)
> или даже if Assigned(Shape) then Shape.Free
Assigned в общем лишнее, в теле Free и так проверяется, что Self<>nil :)
← →
Virgo_Style © (2007-06-05 21:04) [10]DrPass © (05.06.07 20:47) [8]
или даже if Assigned(Shape) then Shape.Free
для верности лучше два раза проверить... :-)
Хотя FreeAndNil надежнее)
← →
AAN (2007-06-05 21:04) [11]А поподробнее...? Что обозначает Shape.Free или даже if Assigned(Shape) then Shape.Free? Пожалуйста, разъясните что к чему? А если мне нужно удалить не только Shape? но и др. компоненты?
← →
DrPass © (2007-06-05 21:09) [12]
> Джо © (05.06.07 21:02) [9]
Зато так круче выглядит
> AAN (05.06.07 21:04) [11]
> А если мне нужно удалить не только Shape? но и др. компоненты?
А это, уважаемый, тебе будет тест на IQ. Решишь - молодец, ты еще не потерян для общества. Не решишь - всерьез задумайся над возможностью суицида :)
← →
AAN (2007-06-05 21:18) [13]Хорошо понимаю: вам - спецам-профессионалам весело. А вот мне не очень. Подскажите с проблемой удаления. Пожалуйста.
← →
DrPass © (2007-06-05 21:22) [14]
> AAN (05.06.07 21:18) [13]
Нет, ты все-таки не понимаешь. Вот это
> Что обозначает Shape.Free
> А если мне нужно удалить не только Shape? но и др. компоненты?
- это настолько детский и смехотворный вопрос, что его просто стыдно задавать. Тебе задали направление поиска. РЕШИ ЭТУ ЗАДАЧУ САМ, она ведь простейшая!
← →
Джо © (2007-06-05 21:22) [15]> [13] AAN (05.06.07 21:18)
> Хорошо понимаю: вам - спецам-профессионалам весело. А вот
> мне не очень. Подскажите с проблемой удаления. Пожалуйста.
С такими знаниями нужно книжки читать. Серьезно.
← →
AAN (2007-06-05 21:27) [16]Спасибо за советы. Попробую. AAN.
← →
rumpelshtilchen © (2007-06-05 22:21) [17]
> А если мне нужно удалить не только Shape? но и др. компоненты?
Если ещё не сделал то надо так:
Shape.Free;
Image.Free;
Label.Free;
Edit.Free;
Мозги.Free:)
← →
DrPass © (2007-06-05 23:48) [18]
> Мозги.Free:)
Access violation in module Голова.exe. Read of address 00000000
← →
Anatoly Podgoretsky © (2007-06-06 00:02) [19]> DrPass (05.06.2007 23:48:18) [18]
Поскольку объект не создан
← →
Плохиш © (2007-06-06 01:30) [20]
> AAN (05.06.07 19:37)
Если, при создании компонентов передавал в конструктор указатель на текущий экземпляр формы self, то ничего вручную удалять ненадо, они будут удалены в деструкторе формы.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.01;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c