Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1181563523
Ezorcist
2007-06-11 16:05
2007.07.01
Передача файлов через TidTCP...


1-1177924142
denissoft
2007-04-30 13:09
2007.07.01
что делать если отображение картинок выключено в IE


1-1178104837
BAHbKA
2007-05-02 15:20
2007.07.01
Проблема поиска известных файлов


3-1175833182
Xmen
2007-04-06 08:19
2007.07.01
Некоторые вопросы по FastReport


2-1181057867
AAN
2007-06-05 19:37
2007.07.01
Проблема удаления объектов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский