Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.01;
Скачать: CL | DM;

Вниз

Проблема удаления объектов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.015 c
2-1181153421
framez
2007-06-06 22:10
2007.07.01
процессы


15-1180798178
Иксик
2007-06-02 19:29
2007.07.01
Парк советского периода


15-1180521600
Rouse_
2007-05-30 14:40
2007.07.01
Прикол тут впомнил или как мы шутим над коллегами :)


15-1179599783
GeLLeR
2007-05-19 22:36
2007.07.01
STALKER


2-1181222942
webpauk
2007-06-07 17:29
2007.07.01
Array of TmyRec